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

时间:2011-02-13 15:28:44

标签: php

我需要在php网页中包含一个文件(属于另一台服务器)。

更确切地说:让我们假设我有这个网页:http://www.example.com/mypage.html 并在浏览器中查看时显示: Hello World!

我想要包含这些内容(不是来源): Hello World!

在我的php页面内(假设在www.myexampleserver.com上)。我该怎么办?

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

但它不起作用。

我也希望能够做到这样的事情。在我的php页面源:

echo“我的其他页面包含”.SomeCodeThatIDontKnow。“这就是全部”;

并在浏览器中查看时显示: 我的另一页包含Hello World!这就是全部

感谢您的任何指示。

4 个答案:

答案 0 :(得分: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 :(得分:1)

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

但不要使用include / require !!!

如果您想要做某事,您应该加载网页并通过内容开始操作。 这是一个例子:

远程网页返回内容“do-something”。因此,您可以检查远程文件是返回此短语还是另一个短语并启动一个函数:

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

答案 2 :(得分:0)

如果您想在浏览器中显示此文字,请查看iframe标记。

答案 3 :(得分:0)

我在我的网站上做过这个。我管理3个相关的内部网站,所以我经常在它们之间共享代码(和完整的源文件)。

如果您不想包含其他文件的来源,可以将该文件的内容部分作为单独的文件,然后将其包含在两个文件中。

EG:
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服务器网页中 - 瞧 - 来自另一台服务器的信息,我不必手动重新创建。

如果两个网站都由同一个人/公司管理,我认为没有理由不能使用包含。