[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с ротатором баннеров !
LixxDee
Решил установить на сайт скрипт для показа баннеров !
Код

// указываем полный путь к каталогу в котором находятся наш файл-база баннеров и файл в который будет записываться количество показов баннеров.
$directory = "http://www.deespace.ru/banners/";

// название файла с баннерами ( их кодом)
$linkfile = "links.inc";

// название файла для записи количества показов
$adcountfile = "display.inc";

// позиционирование баннера ( тэг "align" ) т.е. center , right и так далее ...
$pos = "left";

// файл содержащий число показов
$num = file($directory.$adcountfile);

// файл содержащий код баннеров
$adverts = file($directory.$linkfile);

// берем следующий баннер
$num = $num[0]+1;

//считаем баннеры используя функцию count()
$number = count($adverts);

// если прошли все баннера - начинаем показ снова
if($num>$number-1){
$num=0;
}

// записываем число в файл
if (file_exists($directory.$adcountfile)) {
$nu = fopen ($directory.$adcountfile, "w");
fputs($nu,$num);
}
else {
die("Нет файла ($adcountfile) ($linkfile) ($directory) ");
}

// выводим сам баннер
echo "
$adverts[$num]
";

Как и написано создал два файла: "display.inc" и "links.inc"
Файлу display.inc присвоил CHMOD 777 для записи данных о показе.
Все залил в соответствующую директорию, скрипт прописал в шаблоне страницы.
Но вот сабж, при попытке обращения к странице выходит такая ошибка: " Нет файла (display.inc) (links.inc) (http://www.deespace.ru/banners/) "
Файлы 100% существуют, директория указана верно, в чем проблема не знаю... dry.gif
Пробывал обратиться на прямую через адрес: http://www.deespace.ru/banners/links.inc все прекрасно открывает!
Помогите в чем проблема ???



Спустя 57 минут, 35 секунд (31.01.2009 - 18:07) FatCat написал(а):
Мне привычней джаваскрипт. Давным-давно писал банерокрутилку для форума, вот простейший код:
PHP
//Глобальные
str='';a_locat=0

//Определяем куда попали
if(window.location.href.split('showforum')!=window.location.href)a_locat=1//список топиков
if(window.location.href.split('showtopic')!=window.location.href)a_locat=2//топик

// Массив длинных банеров
var along = new Array(
'<a href="http://superhelp.ru/"><img src="http://superhelp.ru/banner/help-intissimo-vert.gif" width=120 height=600 border=0 alt="Гель для интимной гигиены "ХЕЛП!""></a>',
'<a href="http://superhelp.ru/"><img src="http://superhelp.ru/banner/help-intissimo-vert.gif" width=120 height=600 border=0 alt="Гель для интимной гигиены "ХЕЛП!""></a>',
'<a href="http://mammoleptin.ru/"><img src="banner/mammo120-500.gif" width=120 height=499 border=0 alt="МаММолептин - при первых признаках мастопатии"></a>'
)

// Массив коротких банеров
var asmall = new Array('<a href="http://superhelp.ru/"><img src="http://superhelp.ru/banner/help-int-120-120.gif" width=120 height=120 border=0 alt="Гель для интимной гигиены "ХЕЛП!""></a>',
'<a href="http://mammoleptin.ru/"><img src="banner/mammo120-120.gif" width=120 height=120 border=0 alt="МаММолептин - при первых признаках мастопатии"></a>',
'<a href="http://stenocardia.ru/"><img src="banner/k120n31.gif" width=120 height=31 border=0 alt=""Коронатера" - лечение ишемической болезни сердца" style="border-style:solid;border-color:Gray;border-left-width:1px;border-right-width:0px;border-top-width:0px;border-bottom-width:1px"></a>'
)

//Случайный выбор длинного банера
if(a_locat!=0){//На главной длинные не выводятся
    
n_long=Math.random()
    
z_long=(n_long*along.length)-(n_long*along.length)%1
    str
+='<tr><td>'+along[z_long]+'</td></tr>'
}

//Случайный выбор коротких банеров
if(a_locat!=1)
{
//На списке короткие не выводятся
    
if(asmall.length>2)l_small=2
    
else l_small=asmall.length
    
if(asmall.length<4)
    {
        for(
i in asmall){str+='<tr><td>'+asmall[i]+'</td></tr>'}
    }
    else
    {
        for(
i=0;i<=l_small;i++)
        {
            
n_small=Math.random()
            
z_small=(n_small*asmall.length)-(n_small*asmall.length)%1
            
// Проверка исключения повторов
            
if(str.split(asmall[z_small])==str)
            {
                
str+='<tr><td>'+asmall[z_small]+'</td></tr>'
            
}
            else
            {
                
n1_small=Math.random()
                
z1_small=(n1_small*asmall.length)-(n1_small*asmall.length)%1
                
if(str.split(asmall[z1_small])==str)
                {
                    
str+='<tr><td>'+asmall[z1_small]+'</td></tr>'
                
}
            }
        }
    }
}

// Вывод текста
document.write(str)

В действии можно посмотреть на http://pharm-forum.ru/

Спустя 1 час, 54 минуты, 37 секунд (31.01.2009 - 20:01) LixxDee написал(а):
Спасибки за скрипт, но как бы своем разобраться ?? smile.gif

Спустя 46 минут, 46 секунд (31.01.2009 - 20:48) Sylex написал(а):
http://www.deespace.ru/banners/ - это URL, а не путь к каталогу на сервере smile.gif

Спустя 35 минут, 9 секунд (31.01.2009 - 21:23) LixxDee написал(а):
аналогично при "/domains/deespace.ru/public_html/banners/"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.