有人可以保存这两个文件并运行它们并告诉我为什么我收到错误ob_flush() [ref.outcontrol]: failed to refresh buffer. No buffer to refresh".我试着用谷歌搜索,它说我必须使用 ob_start();但是当我这样做时,它不会逐行打印出来,而是在完成后从 FOR 循环中返回整个对象.我对 PHP 有点陌生,所以我不知道还有什么地方可以看..
test_process.php
//这个脚本会将 1 到 100 的数字写入文件//并不断向用户发送信息$fp = fopen('/tmp/output.txt', 'w') or die('打开失败');设置时间限制(120);忽略用户中止(真);for( $i = 0; $i <100; $i++){echo "<script type="text/javascript">parent.document.getElementById('foo').innerHTML += 'Line $i<br/>';</script>";回声 str_repeat('', 2048);冲洗();ob_flush();睡眠(1);fwrite( $fp, "$i
");}fclose($fp);
main.html
<头><script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript" charset="utf-8"></script><style type="text/css" media="screen">.msg{ 背景:#aaa;填充:.2em;边框底部:1px #000 实心}.new{ 背景色:#3B9957;}.error{ 背景色:#992E36;}</风格>头部><身体><iframe id="loadarea" width="1024px" height="768px"></iframe><br/><脚本>功能助手(){document.getElementById('loadarea').src = 'test_process.php';}函数杀死(){document.getElementById('loadarea').src = '';}<input type="button" onclick="helper()" value="Start"><input type="button" onclick="kill()" value="停止"><div id="foo"></div>