博主热衷各种互联网技术,常啰嗦,时常伴有强迫症,常更新,觉得文章对你有帮助的可以关注我。 转载请注明"深蓝的镰刀"
不知你们有没有碰到过这样两种情况:
<?php if (ob_get_level() == 0){ ob_start() }else{ exit(0);};//开始缓冲 for ($i = 0; $i<10; $i++){ echo "Line to show.\n<br />";//不直接输出,先存入缓冲区中 ob_flush();//将缓冲区的数据输出出来 flush();//将缓冲区的数据输出出来 sleep(2);//暂停两秒 } echo "Done."; ob_end_flush();//关闭并清理缓冲区
<?php ob_start(); $data = [1,2,3,4,5,6,7,8,9,10];//实际数据更多,为方便距离假设浏览器一次输出10条会卡死 $per = 3;//每次输出3条,可以改成1000 for ($i = 0;$i < count($data); $i+= $per){ for($j = $i; $j < $i + $per && $j <count($data); $j++){ echo $data[$j]; } ob_flush(); flush(); sleep(2); } echo "Done."; ob_end_flush();
<?php header('Content-type: application/txt');//输出类型 ob_start(); $data = "qwertyuioasdfghjkl";//文件内容,file_get_contents($file) $per = 15;//每次输出15个字符,可以改成1000或更大 for ($i = 0;$i < strlen($data); $i+= $per){ for($j = $i; $j < $i + $per && $j <strlen($data); $j++){ echo $data[$j]; } sleep(2); ob_flush(); flush(); } echo "Done."; ob_end_flush();
原文地址:http://blog.csdn.net/hornedreaper1988/article/details/43153969