如果你执行某些语句,可能会花费大量的时间,在默认情况下,PHP语句会先在服务端执行完成,再将结果送到客户端显示。而在服务端执行期间,客户端是显示空白的。如果想达到边执行边输出的效果,可以使用flush函数
set_time_limit(0); //防止执行超时
$ob_end_clean();//
sqlstr="select id,title_name from ".PREFIX."articles order by id desc";
//假设$rs是一个记录集,有上百万条记录.
foreach($rs as $row)
{
/*
这里执行你指定的操作语句
*/
echo $row["title_name"]."<br>";
flush();
}
/**********************/
再看一个例:
ob_end_clean();//必须加上这句
for ($i=10; $i>0; $i--)
{
echo $i;
flush();
sleep(1);
}
试运行一下这段代码,你就明白flush的作用。
根据以上原理,我们可以扩展一下功能。比如说制作程序执行的进度条。
可以在PHP执行过程中,输入java script语句,动态改变一个框的长度。
没有评论:
发表评论