読者です 読者をやめる 読者になる 読者になる

初めてのシステムと日記

システムも日記も初めてです。

ファイルの書き込み、更新確認

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をやり過ぎな気がしなくもないです。。