ファイルの書き込み、更新確認
PHPで定期的にあるファイルを取得し、
前回更新分のファイルfile_old.txtと
今回更新分のファイルfile.txtで
差分を見て更新があったかどうかを確認することを試す。
//ファイル取得 $file = file_get_contents([file_path]) if (!$file) { return false; } //初めてのチェックなら前回更新確認用のファイル作成 if (!is_file('file_old.txt') { shell_exec('touch file_old.txt'); } //初めてのチェックなら今回更新確認用のファイル作成 if (!is_file('file.txt') { shell_exec('touch file.txt'); //前回確認済みなら前回更新分をfile_old.txtに保存 } else { shell_excec('cat file.txt > file_old.txt'); } //今回更新内容をfile.txtに保存 $fp = fopen('file.txt','w'); fwrite($fp, $file); fclose($fp); //差分を見て前回から更新があったかどうか確認 $diff = shell_exec('diff file.txt file_old.txt'); //差分があれば処理を行う if (strlen($diff) { //処理記述 }
一応望みどおりのことは出来ましたが、
無駄にshle_execをやり過ぎな気がしなくもないです。。