Скрипт ротации баннеров на PHP
Вам понадобится место, где вы будете размещать свои скрипты. Любой платный хостинг дает возможность выполнять php-скрипты. Так как нам не понадобятся базы, то подойдет и большинство бесплатных хостингов.Для начала, возьмем линки оферов, баннеры которых мы будем крутить, с gameleads. Желательно подобрать размеры банеров примерно одинаковыми.
Стандартный линк, полученный с Gameleads выглядит так:
<script language="JavaScript" type="text/javascript">
var size="250x250"; // размер баннера
var cid="df543a8feacdaf8782e0673fcbff740b";
var sa=""; // субаккаунт
</script>
<script language="JavaScript" src="http://t93.gameleads.ru/" type="text/javascript">
</script>
Убираем из него коменты: // размер баннера и // субаккаунт и удаляем концы строк. Т.е. размещаем весь скрипт в одну строку.
Создаем текстовый файл. Назовем его, к примеру, games.txt
В первой строчке запишем имя офера.
Во-второй строчке наш код.
Дальше таким же образом добавляем в наш файл все остальные скрипты вызова баннеров для всех нужных оферов. Соблюдая те же правила: "Название офера" на одной строке, код баннера на другой.
У нас должен получиться файл с четным количеством строк. Пустых строк быть не должно! Это будет нашей базой. Теперь сделаем замену сразу во всем файле строки var sa="" на строку var sa="Субаккаунт". Где, "Субаккаунт" имя субакканта на GameLeads. Впрочем, этого можно и не делать. Но, если вы хотите получать более подробную статистику, то стоит.
Теперь займемся движком.
Создаем еще один файл. dvig.php
Заполним его следующим образом:
<?phpНемного поясню, что скрипт делает:
$fo1 = fopen("games.txt", "r");
$data = fread($fo1, filesize("games.txt"));
fclose($fo1);
$data = explode("\r\n", $data);
$cnt = count($data)/2;
$bnum= rand(0,$cnt-1);
if($bnum>$cnt-1) $bnum=$cnt-1;
$bnum=$bnum*2+1;
print("document.write('" . $data[$bnum] . "')");
?>
Считываем строки данных из нашего файла games.txt в архив $data. Выясняем сколько строк в архиве $cnt и делим на 2. Почем на два? У нас в файле games.txt данные составляют пару: имя офера и код банера. Функцией rand получаем "случайное" число $bnum в промежутке от нуля до числа оферов в базе минус один. Вычисляем индекс, где содержится нужный баннер $bnum=$bnum*2+1; и показываем его.
Все! С одним с движком покончено. Размещаете оба файла там, где вам удобнее. К примеру, здесь. Теперь осталось организовать вывод работы скрипта в том месте, где нам нужно. Сделать это просто. Добавляем в шаблон следующий код
<center>Меняем значение "ВашДомен" на то, где вы разместили свой скрипт с учетом вложенных папок и прочего.
<script language=javascript src='http://ВашДомен/dvig.php'></script>;
</center>
Вот и все. В файл с базой можно добавить скрипты вызова не только для Gameleads, но и любой другой код. Я добавил баннеры от Фотокэш
Учтите, скрипт наипростейший. Здесь нет никакой статистики, обработки ошибок и прочего. Хотите, добавляйте сами.
Чтобы не делать пост слишком длинным, я не стал здесь описывать того, как сделать скрипт ротации баннеров на JavaScript. Оставлю эту тему для следующего поста.
Создаться лишняя нагрузка на хостинг, я же их коды запихнул в БД и оттуда парсю.
ОтветитьУдалитьК тому же в коде меньше строк получается)
По моему, если использовать базы, то нагрузка на хостинг будет выше.
ОтветитьУдалитьА по количеству строк, можно сказать что тоже самое будет. Ты убираешь подключение файла, но добавляешь подключение базы.
Плюс кодов в текстовом файле - легко изменить скрипты на другие.
про нагрузку, мой дурной хостинг считает количество обращений к файлам (любым) и начинает бомбит письмами, и не как не перейти с него - времени нет.
ОтветитьУдалить