Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Собственный адрес подключаемого файла


Автор: library 12.9.2013, 09:51
Добрый день!

Столкнулся с проблемой после переноса сайта.

Есть файл http://domen.ru/papka/a.php

внутри команда require ('http://domen.ru/1.inc');

В файле http://domen.ru/1.inc содержится команда print $_SERVER['PHP_SELF'];

В итоге при обращении к http://domen.ru/papka/a.php в нем написано /1.inc , но не papka/a.php

Почему? и как сделать второе?

Автор: ksnk 12.9.2013, 10:15
Цитата(library @  12.9.2013,  09:51 Найти цитируемый пост)
Почему?

Потому, что подключение файла идет через http://... - то есть идет запрос к собственному серверу, стартует новая ветка апача, новая инкарнация php, со своими собственными переменными окружения и значениями в $_SERVER. Фактически, то же самое, что вбить в адресную строку броузера http://domen.ru/1.inc

Цитата(library @  12.9.2013,  09:51 Найти цитируемый пост)
и как сделать второе?


Например так.
Код

require($_SERVER['DOCUMENT_ROOT'].'/1.inc')

?

Автор: bars80080 12.9.2013, 10:17
а зачем вы вообще для подключения файла в пределах видимости файловой системы используете виртуальный адрес?

http://phpfaq.ru/paths - знакомо?

следует изначально определиться с целями и что вы хотите видеть. если вопрос стоит показать путь до этого самого включаемого файла, то вам хватит echo __FILE__; , но судя по всему, вам нужно совсем иное. вот только кто знает что именно? вы сами знаете?

Автор: library 12.9.2013, 10:39
На старом хосте работало в виде с http://, проблема появилась после переноса

Добавлено через 9 минут и 5 секунд
Проблема решилась. Дело было в том, что я включил оброботку php в файлах с расширением .inc, пытаясь решить другую проблему. Без это работает нормально.

Автор: ksnk 12.9.2013, 11:45
library, Пароли к серверу, случайно не в этих .inc хранятся?  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)