用PHP显示部分输出

2024-05-28 20:40:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码:

<?php
for($i = 0; $i<30; $i++)
{
    echo "$i<br>";          
    usleep(100000); 
}

?>

我想知道如何使浏览器显示0,然后1,然后2。。。在

在我的示例中,它加载一段时间,然后显示0-29。在


Tags: 代码brecho示例for浏览器phpusleep
3条回答

手动刷新输出缓冲区:

<?php
ob_start();
for($i = 0; $i<30; $i++)
{
    echo "$i<br>";
    ob_flush();
    usleep(100000); 
}
?>

禁用所有输出缓冲并填充输出:

while(@ob_get_clean());

for($i = 0; $i<30; $i++)
{
    echo str_pad("$i<br>",4096);          
    usleep(100000); 
}

另外,如果您的Apache正在使用mod_deflate,并且您对text/html文件进行了gzip压缩,那么这也行不通。在

使用javascript。HTML不是一个交互式控制台。在

编辑:投反对票的人,请记住,我提出的是一个实际可行的解决方案。php的增量输出在这里决不是一个有效的解决方案,因为在这个过程中有很多地方可以缓冲它,而且浏览器没有义务在html进入时以增量方式呈现html。在

相关问题 更多 >

    热门问题