選択したディレクトリのすべてのファイルのレポートを 24 時間ごとに作成するスクリプト PHP スクリプトを作成しています。最新のレポートを以前のレポートと比較して、(md5 ハッシュを比較することにより) ファイルの編集、ファイルの削除、およびファイルの作成を検出したいと考えています。2 つの別々の配列に 2 つのレポートのデータがあります。私が収集できるものから、array_diff 関数を使用する必要があります。どうすればいいですか: A) これを多次元配列で使用し、B) 違いが編集、削除、または作成のいずれかである場合はラベルを付けます。
データの例:
新しいレポート:
Array
(
[0] => Array
(
[file] => newhotfolder.gif
[path] => images/newhotfolder.gif
[type] => gif
[size] => 1074
[md5] => 123812asdkbqw98eqw80hasdas234234
)
[1] => Array
(
[file] => image.gif
[path] => images/attachtypes/image.gif
[type] => gif
[size] => 625
[md5] => 7bbb66e191688a86b6f42a03bd412a6b
)
[2] => Array
(
[file] => header.gif
[path] => images/attachtypes/header.gif
[type] => gif
[size] => 625
[md5] => 71291239asskf9320234kasjd8239393
)
)
古いレポート:
Array
(
[0] => Array
(
[file] => newhotfolder.gif
[path] => images/newhotfolder.gif
[type] => gif
[size] => 1074
[md5] => 8375h5910423aadbef67189c6b687ff51c
)
[1] => Array
(
[file] => image.gif
[path] => images/attachtypes/image.gif
[type] => gif
[size] => 625
[md5] => 7bbb66e191688a86b6f42a03bd412a6b
)
[2] => Array
(
[file] => footer.gif
[path] => images/attachtypes/footer.gif
[type] => gif
[size] => 625
[md5] => 1223819asndnasdn2213123nasd921
)
)
関数は、「newhotfolder.gif」の md5 ハッシュが変更されたこと、ファイル「footer.gif」が削除されたこと、および「header.gif」が追加されたことを検出できる必要があります。おそらく、次のような 3 番目の配列を返しますか?:
比較:
Array
(
[0] => Array
(
[file] => newhotfolder.gif
[path] => images/newhotfolder.gif
[type] => gif
[size] => 1074
[md5] => 8375h5910423aadbef67189c6b687ff51c
[status] => edited
)
[1] => Array
(
[file] => image.gif
[path] => images/attachtypes/image.gif
[type] => gif
[size] => 625
[md5] => 7bbb66e191688a86b6f42a03bd412a6b
[status] => same
)
[2] => Array
(
[file] => footer.gif
[path] => images/attachtypes/footer.gif
[type] => gif
[size] => 625
[md5] => 1223819asndnasdn2213123nasd921
[status] => deleted
)
[3] => Array
(
[file] => header.gif
[path] => images/attachtypes/header.gif
[type] => gif
[size] => 625
[md5] => 71291239asskf9320234kasjd8239393
[status] => new
)
)