2012-07-16 225 views
25

我正在使用以下代碼刷新頁面,它不會在完成時重新加載。以下代碼有時無法使用。PHP - 自動刷新頁面

$page = $_SERVER['PHP_SELF']; 
$sec = "10"; 
header("Refresh: $sec; url=$page"); 
echo "Watch the page reload itself in 10 second!"; 
+1

誰downvoted這應該發表評論,指出他們的問題與問題。 – HeatfanJohn 2012-07-16 03:06:48

+0

如果編輯它以刪除「由於頁面負載過重」,如果這確實與問題沒有任何關係? – HeatfanJohn 2012-07-16 03:18:22

+0

@HeatfanJohn成爲第一個開始一件好事的人不錯。如果問題很有用,那你爲什麼不自己去投票。無論如何..我是投票,因爲它解決了我的問題。 – 2013-01-05 12:51:53

回答

41

使用<meta>重定向,而不是頭重定向,像這樣:

<?php 
$page = $_SERVER['PHP_SELF']; 
$sec = "10"; 
?> 
<html> 
    <head> 
    <meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'"> 
    </head> 
    <body> 
    <?php 
     echo "Watch the page reload itself in 10 second!"; 
    ?> 
    </body> 
</html> 
+0

有趣的想法。我會注意到這一點。 – DrinkJavaCodeJava 2012-07-16 03:00:10

+0

這兩種方法基本上是否相同? http://en.wikipedia.org/wiki/URL_redirection#Refresh_Meta_tag_and_HTTP_refresh_header它們都告訴瀏覽器在10秒內刷新頁面。如果Web服務器不滿請求,改變如何告訴瀏覽器如何刷新頁面並不是真的有幫助,是嗎? – HeatfanJohn 2012-07-16 03:05:54

+0

@HeatfanJohn - 首先,HTTP標頭刷新不在HTTP標準中。其次,在HTML被渲染之後,這將不會開始超時,而瀏覽器可以接收標題信息並按照它的意願行事,因爲標題重定向的行爲不是標準化的。 – nickb 2012-07-16 03:12:08

21

可以使用

<meta http-equiv="refresh" content="10" > 

不僅僅是頭部標記後添加它

,其中10是你的頁面將自己刷新的時間

7

使用此代碼,它會自動刷新在5秒內,你可以在刷新更改時間

<?php $url1=$_SERVER['REQUEST_URI']; header("Refresh: 5; URL=$url1"); ?>

3

嘗試了這一點。您的頁面將會刷新,每10秒

<html> 
<head> 

    <meta http-equiv="refresh" content="10; url="<?php echo $_SERVER['PHP_SELF']; ?>"> 
</head> 
<body> 

</body> 
</html> 
+1

嗨Gideon afoh,它不需要在meta標籤中傳遞php_self(即,url = <?php echo $ _SERVER ['PHP_SELF'];?>)。沒有這個,它應該每10秒刷新一次當前頁面。 – 2017-04-26 19:46:53

0

也許使用此代碼,

<meta http-equiv="refresh" content = "30" /> 

把它很容易