2011-03-13 10 views

答えて

4
$imagePattern = "/\.(jpg|jpeg|png|gif|bmp|tiff)$/"; 
$directory = "."; 

if (($handle = opendir($directory)) != false) { 
    while (($file = readdir($handle)) != false) { 
     $filename = "$directory/$file"; 
     if (strtotime("-24 hours") <= filemtime($filename) && preg_match($imagePattern, $filename)) { 
      unlink($filename); 
     } 
    } 

    closedir($handle); 
} 
+0

unlink()に$ fileの前に$ directoryが必要になることがあります。最終的にglob()で簡単になります。 – mario

+0

また、質問にあるように、イメージに一致する必要があります - 回答を更新しました –

1

組み合わせ

shell_exec('find /path/to/your/directory -mtime +0 -exec rm -f {} \;'); 
0
shell_exec('find /path/to/files* -mtime +1 -exec rm {} \;'); 
+1

は、WindowsマシンとLinuxをロックダウンマシンを含む、検索パスにfind' 'なしのサーバー上で動作しません。 – Charles

1

別の解決法は、あなたがそれを支配するならば、unixタイムスタンプを含む命名規則を使うことです。

関連する問題