自我解釋但沒有工作...PHP - 爲什麼flush(和/或ob_flush)不起作用?
只是想呼應附加$ J每1秒......
ob_implicit_flush();
ob_end_flush();
ob_start();
for ($j=0;$j<=9;$j++){
echo $j.'<br>';
flush();
ob_flush();
sleep(1);
}
任何想法?
自我解釋但沒有工作...PHP - 爲什麼flush(和/或ob_flush)不起作用?
只是想呼應附加$ J每1秒......
ob_implicit_flush();
ob_end_flush();
ob_start();
for ($j=0;$j<=9;$j++){
echo $j.'<br>';
flush();
ob_flush();
sleep(1);
}
任何想法?
PHP的緩衝區只是其中之一。
服務器可能會緩衝輸出,並且一些瀏覽器會緩衝輸入,因此它不會嘗試重新呈現接收到的每個字節的整個頁面。
一般來說,你應該在什麼從未使用sleep
瀏覽器將調用,因爲這只是要求被拒絕服務攻擊,真是......
所以基本上這個答案告訴你「不要那樣做「。當然,還有更好的方法來做你正在做的事情,從JavaScript開始就很簡單:
<div id="counter"></div>
<script type="text/javascript">
(function() {
var count = 0, box = document.getElementById('counter');
function step() {
box.appendChild(document.createTextNode(count));
box.appendChild(document.createElement('br'));
count++;
if(count <= 9) setTimeout(step,1);
}
step();
})();
</script>
擺脫'@'。這隱藏了錯誤。如果你隱藏自己的錯誤,你如何期望知道什麼是錯的? –
沒有錯誤@John :)有或沒有@ ... –
清除瀏覽器的緩存 – hek2mgl