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
関連記事
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...
-
-
jQueryからAjax経由でPHPにリクエストしCookieを操作する方法
先日PHPでCookie保存時にHttpOnly / Secure属性を設定する ...
-
-
CAPTCHAに代わる無料のツール「Cloudflare Turnstile」の導入方法
CAPTCHAと言えばGoogleのreCAPTCHAを思い浮かべるが、稀にCl ...
-
-
PHPでパーミッションの変更
chmodというみたことが無いPHP関数があったのでメモ。 ■参考サイト htt ...
-
-
formのinput="file"でディレクトリを選択させ、ディレクトリ内のファイルを全てアップロードする方法
フォームで複数のファイルをアップロードしたい場合、input="file"を複数 ...