PHP банер ротатор.
Публикувана от ko6rata на January 19 2011 10:39:48
Разширена новина
Ето един простичък, но ефектен скрипт за ротация на банери.
<?
/***************
Simple Banner Rotator
Copyright 2006 - skus@mail.bg
----------
Преди да пуснете скрипта задайте права 777 на banner.log
Сайтове можете да добавяте или изтривате като редактирате файла banner.log.
Сайтовете са отделени с нов ред, като е много важно след последния сайт да има също празен нов ред, в противен случай скрипта няма да функционира както трябва. Също така на всеки ред трябва да има по 3 знака |
На първа позиция е УРЛ адреса към който ще води банера, след това има | , след нея е адреса на банера (картинка) и още веднъж | , след, който е описанието на банера.
***************/
//Име на файла, в който ще е списъка
$file_log="banner.log";
//Отваряме файла
$fsize=filesize($file_log);
$f=fopen($file_log, "r");
$f_bin=fread($f, $fsize);
//Правим масив със сайтовете
$slash_array=explode("n", $f_bin);
$slash_array=array_splice($slash_array, 0, -1);
//Задаваме случайно число, според което ще извикаме желания банер
$rand=rand(0, count($slash_array)-1);
//Избираме този сайт и изваждаме неговата информация в нов масив
$site_array=explode("|", $slash_array[$rand]);
$site_array[2]=substr($site_array[2], 0, strlen($site_array[2])-1);
//Изкарваме резултатите (визуализираме банера) под формата на javascript
echo 'document.write('<a href="'.$site_array[0].'"><img src="'.$site_array[1].'" alt="'.$site_array[2].'" border="0"/></a>');';
//Това може да се използва в html страници по следния начин: <script type="text/javascript" src="banner.php"></script>
//Ако желаете махнете document.write(' и '); и използвайте скрипта направо с include()
?>
А ето го и banner.log файла (примерен):
http://f3team.com|http://www.f3team.com/banner/ban_468.gif|Уеб дизайн и приложения от F3 Team
http://flash4e.com|http://flash4e.com/images/ban_468_NEW.gif|От нас за Вас! Най-лудите флаш игрички в целия свят.
Както казах и по рано оставете един ред след всичко, иначе последния сайт няма да се показва.