簡體   English   中英

如何在PHP中包含外部文件?

[英]How do I include an external file in PHP?

我需要在php網頁中包含一個文件(屬於另一個服務器)。

更准確地說:讓我們假設我有此網頁: http : //www.example.com/mypage.html ,在瀏覽器中查看時,它顯示:Hello World!

我想包括以下內容(不是來源):Hello World!

在我的php頁面中(假設在www.myexampleserver.com上)。 我該怎么辦 ?

我試過了:包括“ http://www.example.com/mypage.html”;

但它不起作用。

我也希望能夠做這樣的事情。 在我的php頁面源代碼中:

回聲“我的另一頁包含“ .SomeCodeThatIDontKnow。”,僅此而已”;

並在瀏覽器中查看時顯示:我的其他頁面包含Hello World! 僅此而已

感謝您的任何指示。

$otherpage = file_get_contents("http://www.example.com/mypage.html");
echo "My other page contains: " . $otherpage;

如果您希望“其他頁面”僅包含文本,則可能還需要使用htmlentities來確保沒有HTML注入到您的頁面中。

$otherpage = file_get_contents("http://www.example.com/mypage.html");
echo "My other page contains: " . htmlentities($otherpage);

您也可以為此使用file_get_contents()或file()。

但是不要使用include / require !!!

如果您想做某事,則應該加載網頁並通過內容開始操作。 這里是一個例子:

遠程網頁返回內容“做某事”。 因此,您可以檢查遠程文件是否返回此短語或另一個短語並啟動函數:

$command = file_get_contents('http://remote-domain.tld/file.html');
if($command == 'do-login') {
    //... do something
}
...

如果要在瀏覽器中顯示此文本,請查看iframe代碼。

我已經在自己的網站上完成了此操作。 我管理着3個相關的內部網站,因此我經常在它們之間共享代碼(和完整的源文件)。

如果您不想包括另一個文件的源,則可以將該文件的內容部分設為單獨的文件,然后將其包含在兩個文件中。

例如:
www.example.com/ContentSource.php:
你好世界和其他內容。

www.example.com/mypage.php:
源代碼
包括“ www.example.com/Contentsource.php”;
其余來源

www.myexampleserver.com/otherpage.php:
源代碼
我的其他頁面包含
包括“ www.example.com/Contentsource.php”;
僅此而已。
其余來源

然后,您只需在一個文件(ContentSource.php)中管理要顯示在兩個位置的內容,然后將其包含在所需位置即可。

我使用的一台服務器使用MySQL,另一台使用Oracle。 在我的MySQL服務器上,我包括一個位於Oracle服務器上的文件,該文件顯示適用於兩個網站的代碼表,但僅在Oracle數據庫表中可用。 Oracle服務器具有創建html的php,而我只是將其包含在我的MySQL服務器網頁中-瞧-來自其他服務器的信息,而我不必手動重新創建。

如果兩個站點都由同一個人/公司管理,我認為沒有任何理由不能使用include。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM