2017-08-10 105 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()

相關問題