-2

ファイルが同じ日に更新されているかどうかを確認して更新する必要があります。古い場合は、スクリプトをしばらくスリープさせてから、ファイルの更新時間を再度確認します。問題は、ファイル時間を再割り当てするために使用している変数が機能していないことです。スクリプトの実行中にファイルが更新された場合、更新された時間ではなく、古い時間を保持します。私を助けてください !

filemtime を使用してファイルの更新時間を取得します。while ループを使用して時間を確認します。

前もって感謝します..

迅速な返答に感謝致します。ここにコードがあります

$current_date=date("Y-m-d 00:00:00");
$file_update_time=date("Y-m-d H:i:s", filemtime("/path/filename"));

while(new DateTime($file_update_time) < new DateTime($current_date))
{
sleep (120);
$file_update_time=date("Y-m-d H:i:s", filemtime("/path/filename"));
}
4

1 に答える 1

0

filemtime()関数が常に同じ結果を返す理由は、この関数の結果がキャッシュされているためです。詳細については、を参照clearstatcache()してください。

date()と機能を混在させる必要はありませんDatetime

while(new DateTime('@'.filemtime('/path/filename')) < new DateTime('today')) {
    sleep(120);
    clearstatcache();
}
于 2013-10-12T16:19:27.790 に答える