Господа, есть микропроблемма, потому как я не программист, а фотограф. Прилаживаю я баннерокрутилку на сайт 2001photo.com, а вот страницы у меня на 2-х уровнях вложения. Пришлось 3 файла с кодом множить в 2 раза. Не трудно, конечно, в 2 лога смотреть, но не изящьно это. Как-то можно это дело пофиксить?
2 вопрос. Слышал что есть проблема когда к одному файлу пытаются одновременно сунуться дважды. Т.К. мой сайт кажет кучу баннеров в месяц, то это у меня и может произойти. Посмотрите, плиз, в код, может или нет? Скрипт с Webclub.ru:
---------- считаем клики/показы этим файлом -------------
$array_bann = file (\'../advert/index-database1.txt\');
// В переменной $banner - у нас уже переданный из html-файла номер баннера, по которому кликнули.
// Берем запись, соответствующую этому номеру, опять разделяем ее на кусочки через "|" и заносим // это в массив $data_bann.
$data_bann=explode ("|", $array_bann[$banner]);
// Увеличиваем счетчик показов на единицу, склеиваем запись обратно в $array_bann.
$data_bann[5]=$data_bann[5]+1;
$array_bann[$banner]=join(\'|\',$data_bann)."\\n";
// И записываем изменненный массив в файл database1.txt.
$fp= fopen (\'../advert/index-database1.txt\',"w");
flock($fp,3);
fwrite ($fp, join(\'\',$array_bann));
fclose ($fp);
// Отфутболиваем пользователя по адресу, хранящемуся в переменной $data_bann[0];
header("Location:
http://$data_bann[0]");
?>
------- показываем баннеры этим файлом ----------
$array_bann = file (\'../advert/index-database1.txt\');
// инициализируем генератор псевдослучайных чисел, выбираем случайную запись
// из считанного файла, разделяем ее на элементы через признак "|" и заносим их в массив $data_bann.
srand((double)microtime()*1000000);
$pos = rand(0,sizeof($array_bann)-1);
$data_bann=explode ("|", $array_bann[$pos]);
// выводим на экран сам баннер на основе данных из массива $data_bann;
echo "
$data_bann[2]";
// Увеличиваем счетчик показов баннера на единицу.
$data_bann[4]++;
// Склеиваем измененную запись и записываем весь массив в файл;
$array_bann[$pos]=join(\'|\',$data_bann);
$fp= fopen (\'../advert/index-database1.txt\',"w");
flock($fp,3);
fwrite ($fp, join(\'\',$array_bann));
fclose ($fp);
?>