Пустота в переменной $DOCUMENT_ROOT при вызове её в included файле

dr_z10

Новичок
Пустота в переменной $DOCUMENT_ROOT при вызове её в included файле

Здравствуйте, господа! :cool:
Сразу к делу:

Файл main.php:
------------------------------------
<?
include functions.php;
doSmthForMe();
?>
------------------------------------

Файл functions.php:
------------------------------------
<?
function doSmthForMe()
{
$basefile =$DOCUMENT_ROOT.'/txts/text_file.txt';
$svalka = file($basefile);
...остальное не имеет значения (ну, скажем, вывод на экран)...
}
?>
------------------------------------

Так вот при таком раскладе переменная $DOCUMENT_ROOT пуста. Выводится ошибка, что файла "'/txts/text_file.txt" не существует. Пытался в ту же функцию вставить примерно такое:
echo '$DOCUMENT_ROOT here is: '.$DOCUMENT_ROOT;

Что, собственно, и подтвердило то, что она пуста, т.к. на экране вижу: "$DOCUMENT_ROOT here is: ", и всё.

Так вот, в чём вопрос... Меня уже не волнует сам вызов переменной $DOCUMENT_ROOT. Обход проблемы был прост и безболезнен. Интересно просто, ПОЧЕМУ она пуста. :confused:

----------------
Хех... Умиляет меня процесс придумывания темы... :rolleyes:
 

Фанат

oncle terrible
Команда форума
инклюды здесь совершенно не при чем.
надо, молодой человек, учить базовый синтаксис языка, на котором пишете.
в частности, область видимости переменных.
А так же надо, молодой человек, надо знать ответы на часто задаваемые вопросы, в частности, что писать свои скрипты надо под register_globals=off
 

dr_z10

Новичок
Согласен.
Читаем мануал:
"It's preferred to code with register_globals = off."

И ещё:
"If you're sure register_globals = on and wonder why $DOCUMENT_ROOT isn't available inside functions, it's because these are like any other variables and would require global $DOCUMENT_ROOT inside the function."

Просто и понятно. Но в Вашем ответе, Фанат, я не нашёл решения своей проблемы. Интересно, зачем тогда форум? Чтобы отвечать на вопросы загадками? Не можете ответить информативно - цитируйте мануал.
 

Krishna

Продался Java
$DOCUMENT_ROOT замени на $_SERVER['DOCUMENT_ROOT'] и перечитай процитированный мануал заново.
 

dr_z10

Новичок
Всё сразу прочитать и выучить не могу. Нет времени и возможностей.

Всё понятно. Всем спасибо.
Не знал, что задавать вопросы - плохо.

очень неумно с твоей стороны
 

Фанат

oncle terrible
Команда форума
а кто тебе сказал, что задавать вопросы - плохо?
можно цитатку?
 

Фанат

oncle terrible
Команда форума
Да и глупые тоже можно.
Хотя, конечно, большая их часть попадает под юрисдикцию правил форума, которые не худо было бы читать, прежде, чем поспользоваться его услугами.
Но лично по мне - они слишком жестокие.
 

dr_z10

Новичок
Эта тема не стоит дальнейшего раскрытия, IMHO. Но, если хотите, можете продолжать...
 

Фанат

oncle terrible
Команда форума
Естественно, не стоит.
Поскольку сбрехнуть может каждый, а вот ответить за свои слова и хотя бы извиниться - единицы.
 
Сверху