Автор Тема: абсолютный путь в PHP  (Прочитано 2950 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
абсолютный путь в PHP
« : 23 Ноября 2001, 03:53:33 »
Господа, есть микропроблемма, потому как я не программист, а фотограф. Прилаживаю я баннерокрутилку на сайт 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[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);
?>

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
абсолютный путь в PHP
« Ответ #1 : 23 Ноября 2001, 15:38:18 »
Создай один для всего сайта config.inc.php (или уже существующий, например где коннекты к базе и т.п.) и в нем переменную
$abspath = "/home/user/www";

а потом везде делай include "$abspath/advert/index.php";
и ... = file("$abspath/advert/index-database.php");
Евгений aka Razor,

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
абсолютный путь в PHP
« Ответ #2 : 06 Декабря 2001, 12:58:48 »
как вариант использовать переменную окружения $DOCUMENT_ROOT
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28