skillup

技術ブログ

PHP

ob_startを使ったバッファリング出力

投稿日:2017年5月23日 更新日:

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_startとかってたまに見るんだけど理屈理解していないのでちょっと調べることに・・・

ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入

すげー分かりやすいサンプルが↑にあり、これがそのまま使えるのでのせてしまいます。

簡単に言うと下記のような理解

  • ob_startとob_end_cleanの間は出力がされずにバッファという別領域にデータがためられます。録画みたいなイメージ
  • ob_get_contentsでバッファ内容がそれまでのバッファ内容をとりこむ。上記だとvar_dump($arr)の部分
  • $resultは普通の文字列なのであとはこれをログで普通に吐き出せばOK

PDFエラーの時に、ob_end_cleanを使っていることがあったけど、こういう意味だったんですね・・・

http://skill-up-engineering.com/?p=2473

よく調べるとバッファリングを使ったログ出力は以下のリンクでも自分は書いてましたねー。いやー理解していないから忘却の彼方でした(汗)。

http://skill-up-engineering.com/?p=1477

-PHP
-,

執筆者:


  1. […] ob_startを使ったバッファリング出力 (参考リンク:http://skill-up-engineering.com/2017/05/23/post-2796/) […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

herokuでのmb_convert_encoding

herokuにあげたアプリを起動しようとしたらmb_convert_encodingでundefinedエラーが帰ってきました。 どうやらマルチバイトのライブラリがないエラーのようですね。 といいつつ …

no image

phpenv+php-build 複数のPHPのversionを使い分け

使っているサーバーで別バージョンのphp(7.2.0)を使いたかったのでphpenv&php-buildをインストール。 Contents1 phpenvのインストール2 php instal …

no image

CakePHP3でのコレクションに関して

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。 配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを …

no image

POP3を使ったメール受信

メールの送信と比べると、プログラムで描く頻度は少ないですが、メールの受信について。 Contents1 POP3サーバー2 プログラムにてPOP3サーバーと通信3 PHPにてメールを取得する場合 PO …

no image

form以外でのPOST送信(というかHTTP通信全般)

前回の記事に引き続きですが、APIを叩く側はformでデータを送るのではなく、コードの中にPOSTする処理を書きます。 選択肢としては curlコマンドを使う file_get_contentsを使う …

アーカイブ