【发布时间】:2011-05-10 15:12:44
【问题描述】:
我需要包含另一个 url 上的外部文件。例如 google.com。我已经使用本地文件测试了包含,所以效果很好,但是如果我尝试使用 127.0.0.1/filetoinclude.txt 什么都没有发生。我没有收到错误,我只是得到一个空白页。 那么我应该如何在我的页面中包含http://google.com?
【问题讨论】:
我需要包含另一个 url 上的外部文件。例如 google.com。我已经使用本地文件测试了包含,所以效果很好,但是如果我尝试使用 127.0.0.1/filetoinclude.txt 什么都没有发生。我没有收到错误,我只是得到一个空白页。 那么我应该如何在我的页面中包含http://google.com?
【问题讨论】:
我不知道您为什么要这样做,但您肯定可以尝试以下方法:
<?php
$google_page = file_get_contents('http://www.google.com');
echo $google_page;
?>
【讨论】:
file_get_contents 检索外部域数据时,您必须在 php.ini 中包含allow_url_fopen = On,并且获取由服务器完成。这意味着客户端在远程站点上的会话状态、请求的远程地址等将是服务器的信息。
您需要使用file_get_contents:
$data = file_get_contents('http://google.com'); //will block
或fopen:
$fp = fopen('http://google.com', 'r');
$data = '';
while(!feof($fp))
$data .= fread($fp, 4092);
fclose($fp);
echo $data;
【讨论】: