我需要在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!这就是全部
感谢您的任何指示。
答案 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服务器网页中 - 瞧 - 来自另一台服务器的信息,我不必手动重新创建。
如果两个网站都由同一个人/公司管理,我认为没有理由不能使用包含。