5

スクリプトのインストール時またはファイルの内容の変更時にロードする必要のあるデータベース情報を含むxmlファイルがあります。xmlファイルでmd5_file()を使用して、値をdbに保存し、スクリプトが実行されるたびにファイルのハッシュと比較できますか?それには欠点がありますか、そしてより速く/より簡単な他の方法はありますか?

4

5 に答える 5

9

「変更」の意味によって異なります。コンテンツを実際に変更する必要がある場合は、チェックfilemtimeだけでは十分ではありません。これは素晴らしい最初のステップであり、最初に使用する必要がありますが、それだけでは十分ではありません。

filemtimeをファイルの内容のハッシュ ( など) と組み合わせると、効率md5_file的に機能します。

于 2013-02-04T23:49:57.783 に答える
5

あなたの最善の策は、ファイルの変更時間を保存し、将来チェックするファイルの変更時間と比較することです。

if(filemtime('myfile.txt') > $result_set['filemtime']) {
    // file was modified
}

あなたが自分でデータベース化できることを願っています。

于 2013-02-04T23:46:59.093 に答える
5

おそらく、 PHP のfilemtime()functionを使用できます。簡単に言えば、この関数は指定されたファイルのファイル変更時間を取得します。

この関数はUNIX タイム スタンプを返すため、新しい値と比較するために、既知の最後の変更時刻をどこかに保存する必要があります。

$modifiedTs = filemtime($filename);
if ($modifiedTs != $lastModificationTs){
  echo "$filename was modified!";
}
于 2013-02-04T23:47:51.423 に答える
2

最も簡単な方法は、file_date を比較することです-これに使用できfilemtimeます

于 2013-02-04T23:47:13.797 に答える