トップへ(mam-mam.net/)

ファイルにログを記録するには

検索:

「ファイルにログを記録するには」

SQL文などをログファイルに記録するには
file_put_contents

回答

file_put_contents("書き込み先ファイル名", "ファイルに記述する文字列", フラグ)
関数を使います。

フラグは以下の組み合わせとなります。
FILE_APPEND   ファイルが存在する場合は追記する
LOCK_EX       ファイルに対する排他ロックを確保する
FILE_USE_INCLUDE_PATH  ファイルをphp.iniに設定されているinclude_pathから探します

ソース

//windowsの場合(フォルダにApacheのユーザーの書き込み権限があること)
date_default_timezone_set('Asia/Tokyo');
$sql="select * from t_hoge";
file_put_contents('c:/tmp/log.txt', date("r").":".$sql."\r\n",FILE_APPEND);


//linuxの場合(フォルダのパーミッションにApacheのユーザーの書き込み権限があること)
date_default_timezone_set('Asia/Tokyo');
$sql="select * from t_hoge";
file_put_contents('/var/tmp/log.txt', date("r").":".$sql."\n",FILE_APPEND);


log.txtファイルに以下のように記録されます
---------------------------------------------------
Tue, 23 Oct 2018 22:10:20 +0900:select * from t_hoge
Tue, 23 Oct 2018 22:10:24 +0900:select * from t_hoge
・・・