php 动态逐行输出
<?php //设置最长执行时间为5分钟 set_time_limit(300); //在循环输出前,要关闭输出缓冲区 ob_end_clean(); for($i=0; $i<100000; $i++){ echo $i."<p>操作已完成...</p>"; @ob_flush(); flush(); } ?>
可能一下子就会输出完,你看不出效果,所以看这个代码直观一点
<?php //设置最长执行时间为5分钟 set_time_limit(300); //在循环输出前,要关闭输出缓冲区 ob_end_clean(); echo '<div style="height:300px;overflow:auto; display:flex;align-items:flex-end;"><div>'; for($i=0; $i<100000; $i++){ print str_repeat(" ", 4096);//php.ini output_buffering默认是4069字符或者更大,即输出内容必须达到4069字符服务器才会flush刷新输出缓冲 echo $i."<p>操作已完成...</p>"; @ob_flush(); flush(); } echo '</div></div>'; ?>