2009-04-14 109 views
1

什么是为PHP安装程序脚本设置顺序输出的最佳方法?假设我有一个页面,并且希望在PHP脚本提供的DIV内显示增量输出。PHP:顺序输出的最佳方法?

所以page.html可能包含这样的:

<div id="output"> 
    <!-- Script Output Here --> 
</div> 

而且install.php了可能是这样的(用于测试目的):

<?php 
// Turn off Output Buffering 
ob_end_flush(); 

// Begin Test Output (5 second intervals) 
echo 'Testing incremental output...' . "\n"; 
sleep(5); 
echo 'Step 1...' . "\n"; 
sleep(5); 
echo 'Step 2...' . "\n"; 
sleep(5); 
echo 'Complete!' . "\n"; 

我想AJAX可能是最好的办法,但我我不知道如何解决这个问题。如果我通过JavaScript加载“install.php”,在脚本完成执行之前我不会收回所有东西(正确吗?) - 这使得整个目标都没有实际意义。我已经看到过这个过程,但是找不到它是如何完成的具体例子。

任何帮助表示赞赏!

回答

2

我怀疑Ajax会做你想做的 - 相反,你可能不得不更频繁地调用ajax提取。

为了在生成信息时立即清除信息,在输出信息后需要定期输入信息flush()

我也在相关的.htaccess文件中添加了一行以避免由于GZip输出(apache2)而导致的任何缓冲。

SetEnvIf Request_URI "/url/dont/buffer/me.php" gzip=0 

在相关PHP文件:

ini_set('output_buffering', false); 
ini_set('implicit_flush', 'true'); 

,并适当调用刷新()。这几乎涵盖了所有的基础。

-2

我将一切输出到一个文本文件,并只调用.txt文件更新通过AJAX DIV

+0

漂亮的毛;多个用户?然后你有多个文本文件。基于会话命名文本文件?怎么样多个选项卡?哦,废话我刚刚除以零。 – Anthony 2009-04-15 05:55:11