PHPで一括出力ではなく、ひとつずつ順次に出力する方法
2024/04/17
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で強制的に出力させる形。
リファレンス
ob_flash
https://www.php.net/manual/ja/function.ob-flush.php
flash
関連記事
-
-
Laravel 13系でGET / POSTパラメータを受け取って出力する方法
Laravel 13系でフォームから送信したGET / POSTパラメータを受け ...
-
-
PHPでユーザID毎にディレクトリを作成しキャッシュファイルを格納する方法
PHPで作ったプログラム内にてユーザーID毎に特定のディレクトリを作成し、その中 ...
-
-
TCPDFで「unable to read file: helvetica.json」エラーの対応方法
TCPDF&FPDIでテンプレートPDFに動的に文字等を追記するプログラ ...
-
-
複数(PHP / metaタグ / htaccess)の方法で301リダイレクト
サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...
-
-
PHP7.4でAPCuとOPcacheをインストールする方法
先日本ブログのサーバをCentOS6系から7系に移行し、その際にMySQLのバー ...