2013-02-04 72 views
0

我可以使用時間點嗎?php頭功能

類似:

header('refresh:1.5; url=xxx'); 
+0

你試過了嗎? – ajon

+0

試過了,看來工作! 謝謝大家 –

+0

neverless我建議閱讀[「維基百科文章中的」缺點「和」選擇「](http://en.wikipedia.org/wiki/HTTP_refresh)。 –

回答

0

是的,你可以使用:

header('refresh: 2; url=someurl.php'); 

3是以秒爲單位的時間。有關header的更多信息總是可以找到here

但無論如何,我一直主張組合,以避免某些瀏覽器的問題:

  • 頭(如你正在做的)
  • 元標籤(在HTML頭)
  • 的JavaScript超時

當使用header我不認爲你可以使用像1.5這樣的小數。在任何情況下,我懷疑任何用戶注意到21.5秒之間的差異。但是如果這對你很重要,你可以通過使用JavaScript超時來實現。

重定向方式

元標記:

<meta http-equiv="refresh" content="2;url=http://www.yourwebsite.com/someurl.php"> 

JavaScript的:

setTimeout(function() { 
    window.location = "http://www.yourwebsite.com/someurl.php"; 
}, 1500); 
+0

我需要1到2秒之間的時間 –

+0

@jk jk閱讀我的更新。 – Jules

+0

我測試了它,你可以使用小數,但我沒有計時,這意味着實際的實現可能會將它轉換爲一個整數,所以它將等於1. – ajon

0

是U可以,但在此之前已經發送的任何標題: 記住header()函數必須在發送任何實際輸出之前調用,無論是普通的HTML標籤,在一個文件中的空行,或來自PHP。使用include或require函數或其他文件訪問函數讀取代碼,並在調用header()之前輸出空格或空行是非常常見的錯誤。使用單個PHP/HTML文件時存在同樣的問題。 http://php.net/manual/en/function.header.php

0

如果您需要1到2秒之間的時間,您可以使用1.5在您的問題中聲明。

0

refresh不是HTTP標準的一部分。它是由Netscape引入並由其他瀏覽器實現的傳統方法。即使它在一個瀏覽器上運行,您也無法確定它可以在所有瀏覽器上運行。

W3C不鼓勵使用它,詳情請參閱this Wikipedia article。特別是「缺點」和「替代品」部分是有趣的。

我寧願過header('refresh ...')使用此:

usleep(1500000); 
header("Location: xxx"); 

這將發出一個乾淨的302重定向,並確保它的HTTP符合並與每一個瀏覽器。