勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPで一括出力ではなく、ひとつずつ順次に出力する方法

  PHP

PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメモ。

 

以下がソース。

 

<?php
function testA($x, $testArray){
	for($i = 1; $i < 10000000; $i++){
		
	}
	ob_flush();
	flush();
	echo $x . "<br />"; //順次表示される
	$testArray[$x] = rand(10000, 99999);
	return $testArray;
}
$testArray = array();

for($x = 1; $x < 10; $x++){
	$testArray = testA($x, $testArray);
}

var_dump($testArray); //これが表示されるのは一番最後
?>

 

本来出力用バッファにためるものを、ob_flashとflashで強制的に吐き出させるらしい。

 

負荷のかかる作業中、「これちゃんと動いてんの?」と不安になる時がある。そういった場合に「現在○○中です」とか出せると、利用者にとっては安心できると思われる。

 - PHP

  関連記事

PHPでパスワード付きのZIP / PDFファイルを作成する方法

PHPでZIPファイル化する方法やPDFファイル出力する方法を過去に書いたが、何 ...

Laravelのディレクトリ構造・バージョン・DB接続情報確認

Laravelで作成されているシステムに携わることがあった。しかしながら当方La ...

PHPとStripeで定額課金(サブスクリプション)実装する方法

PHPとStripeで1ヶ月ごとに500円でサイト内のサービスを使い放題、といっ ...

PHPの文字化け対策

PHPファイルもDBも全部UTF-8で出来たらいいけど、 そうもいかない場合が多 ...

PHPのカレンダー関数

カレンダー関数で使えるかもしれないものをメモ。 ■cal_days_in_mon ...