我在index.php页面中使用以下代码来显示另一个域中一个页面的内容。但是,它在IE中工作正常,但是当我在Firefox中加载页面时,它缺少了php数据。
我做错了什么或firefox不允许这样做?任何帮助表示赞赏。
$domain = $_SERVER['HTTP_HOST'];
$crawl = "http://www.mysite.co.uk/page.php?domain=$domain";
$fd = fopen($crawl, "r");
while($buf = fgets($fd,1024))
{
echo $buf;
}
fclose($fd);
请注意:如果我直接加载目标网址,它可以正常工作
答案 0 :(得分:1)
尝试查看源代码。它可能存在,并且根据内容不会显示。
答案 1 :(得分:1)
在许多情况下,此类问题是由浏览器缓存引起的,我特别遇到与Firefox类似的情况。尝试清理缓存,然后再次打开页面。
答案 2 :(得分:0)
删除服务器上的文件,上传此代码(它只是一个更加清晰的解决方案,不需要allow_url_fopen
,这很危险)。
然后清除浏览器缓存并查看它是否有效:
<?
$domain = $_SERVER['HTTP_HOST'];
$crawl = "http://www.mysite.co.uk/page.php?domain=$domain";
$request = curl_init($crawl);
print curl_exec($request);
curl_close($request);
?>
修改强>
如果这不起作用,请上传文件
<? echo $_SERVER['HTTP_HOST']; ?>
并检查它是否适用于两种浏览器。
答案 3 :(得分:-1)
我要说的是page.php中可能存在语法错误或格式错误的内容。如果您使用完全相同的代码段并抓取http://google.com之类的内容,则可以在所有主流浏览器中获得一致的结果。
答案 4 :(得分:-1)
感谢所有回复,但这对我来说是一个愚蠢的错误。我正在用www加载域名。在Firefox中,但没有www。在IE中,因此有所不同。我添加了一个剥离www的功能。来自推荐域名,现在它工作正常。