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/) […]

PHPでのデバッグ – skillup へ返信する コメントをキャンセル

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

関連記事

no image

サービスプロバイダとは

Laravelをやっていて、次に分かり難かった概念、サービスプロバイダについて。 アプリケーション開発にはデータベース、ファイル操作、ログ操作など様々な操作があり、個別のビジネス処理以外で共通化できる …

no image

PHPでの画像トリミング&縮小

PHPにて画像のトリミング&縮小処理があったんで、メモ。 仕様は下記の通り 16:9の画像(解像度:5168×2907)を高さを維持して4:3にする。つまり横長だった画像比を変えるので、両サイドを取り …

no image

PHPspreadsheet

自分がプログラミングをやりはじめたきっかけはExcelVBAでした。 あれから10年以上の時が流れたのですが、簡易的なデータとしてはやはりExcelを使うことが多いですね。 PythonやJavaSc …

no image

phpのライブラリ(mcrypt)インストール

先日、ローカルで開発していたPHPをサーバーにアップして、composerでライブラリをアップデートしようとしたところ、 "The mcrypt extension is missing. Please check your PHP configuration." なるエラー …

no image

キャッシュについて(主にmemcachedを中心に)

Webサービスのパフォーマンス向上で目に見えて効果があることの一つがDBへのアクセス回数を減らすことです。 それはSQLを発行する回数を少なくするなど、普段からのプログラムの書き方ももちろん大事なので …

アーカイブ