勉強したことのメモ

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

  関連記事

MySQLiで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法

phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...

ランダム表示のページング

MySQLからデータを持ってくる際に、 ランダムな表示を行ってほしいと言われた。 ...

フォームからCSVファイルをアップロードしてPHPの配列に格納する方法

formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...

体重管理をPHPで

体重とBMIを管理する画面をPHPで作ってみようと思った。 ソースは下記の通り。 ...

CodeIgniter4で祝日一覧APIにCURLでリクエストし結果をファイルキャッシュする方法

Codeigniter4.4.4で祝日一覧APIにCURLでリクエストしたい。尚 ...