2017-08-10 66 views
-1

我的php文件在浏览器中正常工作。php返回源代码而不是json字符串

$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

是。这echo file_get_contents("http://localhost/file.php");通过本地主机向文件的网络服务器发出请求,因此PHP被处理和执行。

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

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

include('file.php'); 

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

相关问题