2010-10-25 97 views
0

我在index.php頁面中使用以下代碼來顯示另一個域上的一個頁面的內容。但是,它在IE中正常工作,但是當我在Firefox中加載頁面時,它丟失了PHP數據。php - 爲什麼我的數據不會在Firefox中顯示

我做錯了什麼或做的不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); 

請注意:如果我加載目標URL直接它工作得很好

+4

此代碼沒有在瀏覽器中運行... – 2010-10-25 19:28:22

+0

是否使用我提供的代碼,因爲那不是我的真實網址! – Steven 2010-10-25 19:31:28

+1

沒關係。這些代碼都不在瀏覽器中運行。 – 2010-10-25 19:34:02

回答

1

嘗試查看源代碼。它可能在那裏,而不是根據內容顯示。

+0

謝謝,我試過了,數據也沒有顯示在那裏。 – Steven 2010-10-25 19:29:21

+1

然後我猜測IE正在顯示一個緩存版本,而firefox實際上是顯示正在發生的事情。你有顯示錯誤和error_reporting?我的頁面出錯並變白。 – UltimateBrent 2010-10-25 19:32:15

1

在許多情況下,這些問題是由瀏覽器緩存引起的,我特別面對類似的情況。嘗試清理緩存,然後再打開頁面。

-1

我想說,page.php中可能有一些語法錯誤或格式錯誤的東西。如果您採用完全相同的片段並抓取http://google.com之類的內容,則可以在所有主流瀏覽器中獲得一致的結果。

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']; ?>一個文件,並檢查它是否工作在這兩個瀏覽器。

+0

我試過了,它可以與谷歌作爲網址,但不與我的目標網址。順便說一下,如果我直接加載目標網址,它工作正常,這就是爲什麼我感到困惑 – Steven 2010-10-25 19:41:20

+0

你可以用<?上傳文件嗎? echo $ _SERVER ['HTTP_HOST']; ?>並告訴我它是否可以在兩個瀏覽器中使用? '$ _SERVER'似乎會給某些人造成瀏覽器特定的麻煩:http://tinyurl.com/35wp23v。 – abenthy 2010-10-25 20:23:29

+0

謝謝,但我已經解決了這個問題。這是我的錯誤。如果您想了解更多信息,請參閱我的答案。 – Steven 2010-10-25 20:28:01

-1

感謝所有的迴應,但這是我的一個愚蠢的錯誤。我用www加載了域名。在Firefox中,但沒有www。在IE中,因此有所不同。我已經添加了一個功能去除www。從引用域名,現在它工作正常。

+0

請更新您的問題或發表評論,而不是將其作爲答案發布。 – ceejayoz 2010-10-25 20:24:08

相關問題