デバッグ用に一時的にログファイル出力するやつ
別に一時的なログでなくとも同じようなもんですが、よく使うので…要するに自分用コピペメモです。
PHPで開発する際、デバッグで変数の中身を知りたいときはvar_dump等でお手軽に画面表示できますが、
諸々の理由で画面には出したくない場合もあります。
- 稼働中の本番環境で確認したい
- データが膨大なのでブラウザには表示したくない
- ajaxで呼び出すのでそもそもvar_dump等ではダメ
など。
そういう場合はログファイルに放り込めばよいので、その書き方を。
<? $dat = ... ; // 中身を確認したい変数 // >>> デバッグ用 >>>>>>>>>> $logtext = "================================\n"; $logtext .= date("Y-m-d H:i:s") . "\n"; $logtext .= var_export($dat, true) . "\n\n"; file_put_contents("ログファイルのフルパス", $logtext, FILE_APPEND); // <<<<<<<<<<<<<<<<<<<<<<<<<
これで、日時と変数の内容がログファイルに追加されていきます。
var_exportは変数だけを渡すと画面に表示する関数ですが、第2引数にtrueを渡すことで表示は行わず、戻り値に文字列が得られるようになります。
PHP: var_export - Manual
また、file_put_contentsの第3引数のFILE_APPENDはログファイルに追記するための定数です。
追記ではなく上書きしてしまいたい場合は省略すればOK。
PHP: file_put_contents - Manual