Включите работы, readfile нет

Я испытываю странное поведение при загрузке HTML-файла. require_once, include и т.д. работает:

require_once 'suche.htm';

но readfile или же file_get_contents не будет

return file_get_contents('suche.htm');

Предупреждение: файл чтения (suche.htm): не удалось открыть поток: такого файла нет или
каталог в / var / www / vhosts / h …

1

Решение

Время прочитайте прекрасное руководство

Описание
int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

Обратите внимание на второй аргумент

use_include_path
Вы можете использовать дополнительный второй параметр и установить его в ПРАВДА, если вы хотите найти файл в include_path, тоже.

file_get_contents имеет тот же аргумент.

Вам нужно установить это true если ты хочешь readfile / file_get_contents использовать то же разрешение пути, что и require / include,


Заметка, readfile делает не вернуть строку, чтобы вы не могли использовать результат в htmlentities


ОБНОВИТЬ

На мой взгляд, гораздо лучше использовать явный путь к файлу относительно текущего файла сценария PHP. Например

file_get_contents(__DIR__ . '/../suche.htm');

Увидеть http://php.net/manual/language.constants.predefined.php

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector