|
|
|
| Подскажите, пожалуйста!
Существует такая ситуация. Один сценарий php с помощью функции require вызывает другой сценарий php.
$name="http://".$HTTP_HOST."/";
$path=$REQUEST_URI;
$f=fopen("var.txt","r");
$id=fgets($f,100);
fclose($f);
require $name."index.php";
|
Так вот столкнулся с такой проблемой, что переменные $id и $path получаются неопределенные в index.php. Приходится последнюю строчку переписать так:
require $name."index.php?id=$id&path=$path";
|
| |
|
|
|
|
|
|
|
для: Shumilin
(29.01.2006 в 21:55)
| | Их нельзя так передать - это синтаксис сетевого пути и срабатывает такая передача только при пропускании адреса через Web-сервер, когда скрипт осуществляет обращение к файловой системе, минуя сервер, необходимо вместо
require $name."index.php?id=$id&path=$path";
|
писать
$_GET['id'] = $id;
$_GET['path'] = $path;
require $name."index.php";
|
или ввобще ничего не писать а сразу использовать $id и $path. | |
|
|
|
|
|
|
|
для: cheops
(29.01.2006 в 23:54)
| | Спасибо.
У меня еще вопрос: А есть ли в php какая-нибудь глобальная переменная, котороую можно вставлять в путь к файлу, оставаясь на Web-сервере. Потому что файл index.php на самом деле лежит просто на несколько директорий выше. Количество директорий от index.php до вызывавшего его файла всегда разное,т.е. задача стоит жестко прописать путь к index.php, оставаясь на сервере. | |
|
|
|
|
|
|
|
для: Shumilin
(30.01.2006 в 19:51)
| | Да, можно выяснить и адрес сервера и отталкиваться от него. Подробности в статье Суперглобальный массив $_SERVER. | |
|
|
|
|
|
|
|
для: cheops
(31.01.2006 в 02:49)
| | Спасибо!
Если интересно:
require($_SERVER["DOCUMENT_ROOT"]."/index.php");
|
| |
|
|
|