我正在嘗試打印某些內容,請等待5秒鐘並移至其他頁面。 我正在使用睡眠功能,但由於某些原因沒有打印出來,看起來像跳過了打印部分。使用php sleep()函數
它看起來像這樣:
<?php
echo "Thank you!";
sleep(5);
?>
<script type="text/javascript"> window.location = '?a=home'; </script>
我正在嘗試打印某些內容,請等待5秒鐘並移至其他頁面。 我正在使用睡眠功能,但由於某些原因沒有打印出來,看起來像跳過了打印部分。使用php sleep()函數
它看起來像這樣:
<?php
echo "Thank you!";
sleep(5);
?>
<script type="text/javascript"> window.location = '?a=home'; </script>
您需要刪除PHP和JavaScript的唯一使用:
<script type="text/javascript"> setTimeout(
function() {
window.location = '?a=home';
}, 5000);
</script>
謝謝先生!只要網站允許,我會盡快接受您的回答。 –
我敢肯定,使用睡眠只是延緩了執行程序。只有當您的PHP腳本完成時纔會看到內容,並且由於睡眠功能而阻止了該內容。
也許最好使用HTML元刷新標記。它具有相同的功能,但來自客戶這樣做:
<meta http-equiv="refresh" content="5;URL='?a=home'">
您可以在這裏找到更多的信息:http://www.metatags.info/meta_http_equiv_refresh
您可以使用JavaScript來做到這一點:
setTimeout('window.location.replace("?a=home")',5000);
這個答案會起作用,但在'setTimeout'中對代碼使用字符串是不好的做法。根據最高投票答案將其寫爲一個函數。 – Spudley
你可以這樣做在JavaScript或使用標題。
在JS:
<script>
window.setTimeout('window.location = "?a=home"', 5000); //5000 = 5 secs
使用標題:
header('Refresh: 5;url=page.php?a=home'); // 5 = 5 secs
相關帖子: How to Redirect Page in PHP after a few seconds without meta http-equiv=REFRESH CONTENT=time
如果你想這樣做,那麼你必須用做在JavaScript'setTimeout' 。在你的頁面顯示之前,PHP運行**完成**。 – Jon
它不會跳過它,它只是在它呈現給客戶端之前休眠。你寫的事件順序是「睡5秒,打印一些東西,移動到另一頁。」 – David
[睡眠問題()和重定向的可能重複](http://stackoverflow.com/questions/12298909/php-issue-with-sleep-and-redirect) – Jon