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|От нас за Вас! Най-лудите флаш игрички в целия свят.

Както казах и по рано оставете един ред след всичко, иначе последния сайт няма да се показва.