通常、CGIなどでは、バッファリングという仕組みを使って、バッファがある程度たまるまでデータを送信しません。通信効率が悪いからです。
逆にこれが影響して、出力しているのにバッファが一杯にならないので、なかなか出てこないという場合があり、困ることがあります。
こんなとき、バッファリング制御をうまく行えば、echo で出力されるたびにすぐにブラウザに出力できます。
<?php
function MyFlush(){
flush();
ob_end_flush();
ob_start();
}
ob_start();
for ($i=0;$i<100000;$i++) {
echo $i;
MyFlush();
}
?>
こんな感じにすれば、echo で出力するたびにブラウザに出力されますので、リアルタイムな描画をしたい場合などに効果的です。
スポンサードリンク
PHPサンプル集