この単純なコードを使用して、「エクスポート」フォルダーを反復処理し、24 時間以上前のファイルを削除しようとしています。
if ($handle = opendir("/home/username/public_html/en/graphs/export")) {
while (false !== ($file = readdir($handle))) {
$filelastmodified = filemtime($file);
if((time() - $filelastmodified) > 24*3600)
{
unlink($file);
}
}
closedir($handle);
}
いくつかのメモ:
1)同様の質問があることは承知していますが、そこで提案されている解決策は私にはうまくいかないようです。2) ディレクトリへの絶対パスは正しい (テスト済み) 3) ディレクトリには 777 のアクセス許可があります。その中のファイルはそうではありませんが、777 パーミッションのいくつかのファイルでテストしたところ、同じエラーが発生しました。したがって、許可の問題ではないようです。4) このコードを含むファイルは別のディレクトリにあります (これは cron ジョブです。私はそれらを別のディレクトリにまとめるのが好きです)
これは (ディレクトリ内の各ファイルに対して) 表示されるエラーです。
Warning: filemtime() [function.filemtime]: stat failed for countries_rjRp9.png in /home/username/public_html/path-to-crons/crons/exports.php on line 12
Warning: unlink(countries_rjRp9.png) [function.unlink]: No such file or directory in /home/username/public_html/path-to-crons/crons/exports.php on line 16
この例では、ディレクトリcountries_rjRp9.png
からリンクを解除する必要があるファイルの 1 つです。export
何が起きてる?