2009-04-14 81 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