2011-02-13 82 views
2

我需要在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!這就是全部

感謝您的任何指示。

回答

0

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

3
$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); 
1

您還可以使用的file_get_contents ()或文件()。

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

如果您想要做某些事情,您應該加載網頁並通過內容開始操作。 這裏的一個例子:

遠程網頁返回內容「做某事」。所以,你可以查看遠程文件是否返回本或其他短語和啓動功能:

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

我做這在我的網站。我管理3個相關的內部網站,因此我經常在它們之間共享代碼(以及完整的源文件)。

如果您不想包含其他文件的來源,則可以將該文件的內容部分作爲單獨的文件,然後將其包含在這兩個文件中。

EG:
www.example.com/ContentSource.php:
的Hello World等內容。

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服務器網頁中 - voila - 來自另一個服務器的信息,我不必手動重新創建。

如果兩個網站都由同一個人/公司管理,我看不到包含無法使用的原因。