考慮這樣一個場景:您在不同的伺服器上有兩個 PHP 檔案。您需要包含第一個文件中的第二個文件。
// main.php (http://www.mysite.com/main.php) include "http://www.sample.com/includeThis.php"; echo $foo; // includeThis.php (http://www.sample.com/includeThis.php) <?php $foo = "this is data from file one";
但是,在嘗試包含遠端檔案時遇到問題。
了解限制
預設情況下,PHP 的設定禁止包含來自遠端伺服器的檔案。出於安全原因施加此限制。若要包含遠端文件,您需要在 php.ini 中啟用 allowed_url_include 指令。然而,由於潛在的安全風險,這通常被禁用並被認為是不好的做法。
替代解決方案:file_get_contents()
如果您需要遠端取得資料檔案而不執行 PHP 程式碼,您可以使用 file_get_contents() 函數。它以純文字形式傳回遠端文件的內容。
要使用此方法,請修改遠端腳本以本機腳本可以處理的格式(例如 JSON)產生必要的資料。然後,在本機腳本中:
$remoteData = file_get_contents("http://www.sample.com/includeThis.php"); $data = json_decode($remoteData);
此解決方案可讓您從遠端檔案檢索數據,而不會影響安全性。
以上是如何包含來自另一台伺服器的 PHP 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!