2010年07月15日

デバッグ利用 : file_put_contents ( string $filename , mixed $data );

オンラインマニュアル

PHP: file_put_contents - Manual
PHP: print_r - Manual
PHP: implode - Manual

ファイルに簡単に書き込みできるので、デバッグ用のログとして重宝します。特に、アプリが Content-Type の内容として 画像や PDF 等テキスト以外の結果をブラウザに返している時に有効です。

デバッグする内容をファイル名で独立させて、1回の呼び出しで複数のファイルを作成してもいいですし、初回のみ通常書き出しして、2回目以降を FILE_APPEND を使って一般的な LOG として出力してもいいと思います

一つのファイルに出力するのは、全体を見渡す必要がある場合に利用しますが、データ毎に改行が必要ですし、内容によってはセパレータを設定しないとわかり難くなります。ピンポイントのデバッグであれば、単独ファイルのほうが優れている場合もあります
<?

file_put_contents("log01.txt", "開始" );

file_put_contents("log02.txt", "処理中" );

file_put_contents("log03.txt", "終了" );

?>
OK


<?

file_put_contents("log.txt", "開始\n" );

file_put_contents("log.txt", "処理中\n", FILE_APPEND );

file_put_contents("log.txt", "終了\n", FILE_APPEND );

?>
OK


配列の出力方法としては、以下の3つが考えられますが、一つ目は全ての内容が連結された結果となります。2番目は要素一つを一行に出力するテキストとなり、3番目は、print_r の結果をそのまま出力します
<?

file_put_contents("log01.txt", $_SERVER );

file_put_contents("log02.txt", implode("\n",$_SERVER) );

file_put_contents("log03.txt", print_r($_SERVER,true) );

?>
OK





posted by at 2010-07-15 10:22 | 関数 | このブログの読者になる | 更新情報をチェックする