Мои php файлы работают нормально в браузере.
$array = array("message" => "Not found", "status_code" => 404);
echo json_encode($array);
это работает
echo file_get_contents("http://localhost/file.php");
Но он возвращает исходный код, когда я использую только имя файла
echo file_get_contents("file.php");
ответ
"Not found", "status_code" => 404); echo json_encode($array);
Да. это echo file_get_contents("http://localhost/file.php");
делает запрос к файлу через веб-сервер через localhost, и, следовательно, PHP обрабатывается и выполняется.
это echo file_get_contents("file.php");
получает файл напрямую, не проходя через веб-сервер, и, следовательно, код в нем не выполняется, а просто обрабатывается как текстовый файл.
Если вы хотите выполнить код непосредственно в текущей области, вам нужно использовать include
или же require
:
include('file.php');
Если вы хотите выполнить file.php
отдельно (если вам нужно сделать это, вы, вероятно, делаете что-то не так), то вы можете использовать passthru()
.
Других решений пока нет …