/* Функция выводит один из заранее подготовленных рекламных блоков.
$files_count - количество подготовленных рекламных блоков
$dir - каталог с рекламными блоками, по-умолчанию - './blocks/'
Именование блоков в каталоге: N.inc, где N - от 0 до $files_count - 1
Номер блока, который будет показан, выбирается на основании URL страницы.
URL страницы преобразуется к числовому значению с помощью функции md5,
от результата берется целочисленный остаток от деления на общее количество рекламных блоков.
В результате каждой странице будет псевдослучайным образом соответствовать один из рекламных блоков.
*/
function show_block($files_count, $dir = '', $start_page_name = '') {
// Указываем путь к рекламным блокам по-умолчанию
if ($dir == '') $dir = './blocks/';
// Если количество блоков не указано - ничего не выводим
if ($files_count == 0) return;
// Для стартовой страницы всегда выводим блок 0.inc - этот инклуд вебмастер может очистить,
// если не хочет выводить, или заполнить по своему усмотрению, скопировав самые популярные товары из других блоков
// Если урл стартовой отличается от перечисленных - его можно передать третьим параметром в эту функцию
$start_names_arr = array('', '/', 'index.php', 'index.html', $start_page_name);
if (in_array($_SERVER['REQUEST_URI'], $start_names_arr)) {
$id = 0;
}
else {
// Для прочих страниц - получаем преобразованный URL страницы в целое число
$id = hexdec(substr(md5($_SERVER['REQUEST_URI']), 0, 6)) % $files_count;
}
// Ищем файл блока с определенным для страницы номером и, если файл существует, инклудим его код
$filename = $dir.$id.'.inc';
// if (file_exists($filename)) include($filename);
if (file_exists($filename)) $ret = file_get_contents($filename);
return $ret;
}
?>