【PHP】includeしたプログラム等をすぐに出力させないでバッファリングしておく方法(ob_start)
サイト作成時にヘッダーやフッターなどの共通部分を別のファイルにしてinclude
などで読み込むといった方法は割と一般的にすると思いますが、include
するとその場でプログラムが実行されますよね?そのため出力したい場所でinclude
する必要があります。
しかし同じ処理を複数回する場合など、何度もinclude
するのは無駄なので、一度include
した処理を一旦バッファリングしておいて、後で好きな時に出力するといった方が効率的ですね。
ob_start(); include( './header.php' ); $header = ob_get_contents(); ob_end_clean(); echo $header;
上記の例では、ヘッダー用のファイルheader.php
を読み込んで、$header
という変数に一旦格納して、その後にecho
で書き出しています。
この場合はあまり意味はありませんが、その場ですぐに実行させたくない処理を変数に入れておけるのは便利ですね。
このob_start
関数を使ったバッファリングの方法はinclude
の時だけでなくプログラム上で一旦バッファリングしておきたい処理などにも使えるので、覚えておくと役に立つかもです。(という自分用のメモ)
-
前の記事
PHPでウェブスクレイピング 2019.05.30
-
次の記事
PHPでconsole.log(JavaScript)する1番簡単な方法 2019.07.10
コメントを書く