2011-02-13 111 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 - 来自另一个服务器的信息,我不必手动重新创建。

如果两个网站都由同一个人/公司管理,我看不到包含无法使用的原因。