file_get_contents is not finding a file that exists

I have a file that I'd like another script to access using file_get_contents

The file I'd like it to access is in the directory above it, so I'm using file_get_contents('../file.php?this=that')

However, it's returning No such file or directory and I can't understand why. The file is there.

I'm assuming it has something to do with it being a local file rather than a remote. Any ideas or workarounds?

9
задан Rob 25 August 2010 в 03:41
поделиться

3 ответа

В этом месте нет файла.
Вы должны использовать правильный путь.

Прежде всего выполните echo getcwd (); , чтобы узнать, какой каталог сейчас является текущим (из которого строится ваш относительный путь)
Затем дважды проверьте расположение file.php относительно этого каталога.
Проверьте регистр имени файла, он может быть чувствительным.

Могу я спросить, почему вы открываете php-файл с помощью этой функции?

Итак, ответ:

$your_var = 1;
include('../file.php');
4
ответ дан 4 December 2019 в 06:02
поделиться

Я пошел дальше и использовал несколько переменных $ _SERVER, объединив их вместе, чтобы получить полный URL-адрес, и использовал его в file_get_contents :

file_get_contents ('http: / / '. $ _SERVER [' HTTP_HOST ']. Dirname ($ _ SERVER [' SCRIPT_NAME ']).' /../File.php?this=that');

Это помогло. Спасибо всем за помощь.

4
ответ дан 4 December 2019 в 06:02
поделиться

is getcwd () == dirname (__ FILE __) ?

Однажды я столкнулся с проблемой, когда использование относительного пути всегда приводило к ошибке на каком-то разделяемом хосте. Мы закончили тем, что использовали абсолютные пути, используя имя каталога (__ FILE __) в качестве базового пути (установив константу в начальной загрузке и используя эту константу в качестве значения базового пути), и все работало нормально. Мы не углублялись в проблему, но, возможно, вы столкнулись с тем же самым. Я здесь просто догадываюсь.

1
ответ дан 4 December 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: