2012-12-09 20 views
5

私はLaravelを使用していますので、データが出力される必要があります。 Laravelの外でページを読み込もうとすると、うまく動作します。これをLaravelの中で使うと、フラッシュされず、最後まで待って結果を表示します。PHPのflush()はlaravelで動作しませんか?

view.php

<?php 

if (ob_get_level() == 0) ob_start(); 
for ($i = 0; $i <= 10; $i++){ 

    echo "<br> Line to show. $i"; 
    echo str_pad('',4096)."\n";  

    ob_flush(); 
    flush(); 
    sleep(1); 

} 
ob_end_flush(); 
?> 
+0

、PHPは、この得意ではありませんでした - ビューからの出力はOBの中に含まれているあなたは、ほとんどのフレームワークのような別のアプローチ –

+0

を検討している、と本当にサーバー側であること、そのために設計されていませんでした_ *()への呼び出し圧縮、エラー処理の改善、データの印刷後のHTTPヘッダーの設定などの機能を使用できます。すべての操作が完了したら、データを出力します。だから、自分のob _ *()コールを入れても、外側のコールは中断されません。 –

+1

どのようなオプションがありますか? – luckytaxi

答えて

5

)(私はob_flush追加するために必要な、それを考え出しました。

0

このシーケンスは私のために働いた。

ob_implicit_flush(true); 
echo "Processing ... "; // Or give out JSON output 
ob_flush(); 
sleep(5); //A time-consuming synchronous process (SMTP mail, maybe?) 
echo "Done"; 
関連する問題