php返回源代码而不是json字符串

时间:2017-08-10 00:09:39

标签: php httprequest

我的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);

1 个答案:

答案 0 :(得分:1)

是。此echo file_get_contents("http://localhost/file.php");通过localhost向Web服务器请求该文件,因此处理并执行PHP。

echo file_get_contents("file.php");直接获取文件而不通过网络服务器,因此其中的代码不会被执行,只会被视为文本文件。

如果您想直接在当前范围内执行代码,则需要使用includerequire

include('file.php');

如果你想单独执行file.php(如果你需要这样做,你可能做错了什么),那么你可以使用passthru()