2009-07-29 11 views
3

私がPHPで気づいたことは、スクリプトが動作しなくなるまで何も出力されないことです。私が取り組んでいるプロジェクトでは、100以上のアイテムのリストをフィードし、各アイテムのHTTPリクエストを実行し、完了したら各アイテムのステータス、成功失敗などのページを表示します。PHPは各項目のforeach出力を表示します

それぞれの 'foreach'ループの結果を出力する方法があるかどうかが分かります。そのため、画面を見ているユーザーは、一度に1行または5行後に起こっている魔法を見ています。

Ajaxタイプのリクエストでこれが行われたのはこれまでしか見たことがありませんでした。誰かがこれを行うPHP関数に私を指​​すことはできますか、それは不可能ですか?

答えて

6

で見ることができます。例えば

<?php 

if (ob_get_level() == 0) ob_start(); 

$test = Array('one','two','three','four'); 
foreach ($test as $key=>$val) 
{ 
    echo $test; 
    ob_flush(); 
    flush(); 
} 

ob_end_flush(); 

?> 

あなたが無効になっmod_gzipのしていることを確認してください!

7

flush()を使用することは、それを行う必要があり、またはあなたは必要なときにバッファをフラッシュし、バッファ内のすべてのスクリプトの出力を保存する方が良いかもしれall the output buffering functions

1

私は、出力後

flush(); @ob_flush(); 

を使用しています。

関連する問題