php - 调用 ob_flush() 和 flush(),但浏览器在脚本完成之前不显示任何输出

标签 php output-buffering

嗨 请查看以下代码:

<?php
ob_start();

echo "Start ...<br />\n";
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo "$i<br />\n";
    ob_flush(); 
    flush();
    sleep(1);
}
echo "End ...<br />\n";
?>

不正确?我已经测试过了,但是我的输出显示脚本完成后,有什么解决方案吗?

最佳答案

嘿,伙计,我也陷入了这个问题 终于得到了正确的解决方案 这是给你的

您必须为您的页面添加内容类型 你可以通过两种方式做到这一点 1.使用html标签

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

例如

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Wp Migration</title>
</head>
<body>
<?php 
for($i=0;$i<70;$i++)
{
echo 'printing...<br>';
ob_flush();
flush();
sleep(3);
}
?>
</body>
</html>
  1. 使用php头函数

    <?php header( 'Content-type: text/html; charset=utf-8' ); ?>

例如

<?php 
header( 'Content-type: text/html; charset=utf-8' );
for($i=0;$i<70;$i++)
{
echo 'printing...<br>';
ob_flush();
flush();
sleep(3);
}
?>

一切顺利

关于php - 调用 ob_flush() 和 flush(),但浏览器在脚本完成之前不显示任何输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5770917/

相关文章:

java - 延迟播放音频

php - 在帖子内容中使用短代码触发 Woocommerce Hook

php - 这就是用 PHP 和 Ajax 防止 CSRF 所需要做的全部工作吗?

php - 如何在类中包含定义常量的文件(及其范围)

php - 如何找到为什么 phpunit testsuite 使用 xdebug 太慢?

php ini_set() 更改不会在安全模式关闭的情况下进行

php - Cookie 未在 PHP 脚本中正确设置

javascript - if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 此条件不起作用

php - 我应该把模型保存事件监听器放在 laravel 5.1 的什么地方

php - 将数据库中的值放入 '$string' 中