2010-05-19 26 views
0

我需要在我的服務器上運行一個PHP腳本來經常請求一個網頁。如何經常使用PHP刷新特定網頁?

我想過使用PHP header函數結合元刷新標記,但這將無法正常工作,因爲標題將立即重定向到URL,並且元刷新將永遠不會執行。

<?php 
header('Location: http://www.example.com/'); 
?> 
<html> 
<META HTTP-EQUIV=Refresh CONTENT="60"> 
</html> 

有沒有人有任何建議如何做到這一點?

+0

您是否試圖將用戶移動到另一個頁面或運行腳本? – tylermac 2010-05-19 13:28:14

+0

你需要什麼樣的腳本? – 2010-05-19 13:28:35

+0

我清理了一下你的問題,以幫助減少downvotes,我希望你不介意。 – Josh 2010-05-19 15:31:01

回答

1

如果我正確理解您的問題,您希望每次在某個超時後自動刷新頁面。

由php代碼生成的頭文件旨在直接重定向到某個URL,因此將其取出是因爲您無法以這種方式設置超時。 它是客戶端(即查看頁面的瀏覽器)必須在超時後重新加載頁面,而不是Web服務器。服務器端腳本(比如PHP)不會幫助你。

客戶端可以指示使用<META ...>標籤,或用一些JavaScript重新加載頁面:

<script type='text/javascript'> 
setTimeout(function() { 
    window.location.reload(true); 
}, 60000); // reload after 60 seconds 
</script> 
+0

有人在這個問題上的所有答案以及問題本身downvoted ... – Josh 2010-05-19 14:01:44

+0

是的,我有同樣的感覺...只是一些巨魔。我們如何再次對上對方;) – catchmeifyoutry 2010-05-19 14:19:15

+0

@catchmeifyoutry:+1:當然,爲什麼不呢? :-) – Josh 2010-05-19 15:26:22

2

如果你想獨自做到這一點使用PHP,你需要改變你的解決方案位。不用發送HTTP Location:標題,而是將用戶從頁面重定向,您需要使用file_get_contents將遠程內容加載到變量中。然後,您可以重寫所有URL並將刷新標記插入到HTML中,並輸出該標記。

更簡單的解決方法是製作一個iframe並將其設置爲使用JavaScript進行刷新。如果你喜歡,我可以提供一個代碼示例,請問。