可能性の重複:私は、あるフォルダ内のすべての画像を削除する方法を
How to delete files from directory based on creation date in php?私は24時間以上経過しているフォルダ内のすべての画像を削除する方法を
24時間以上前のPHPで?あなたは* nixのにしている場合は、シェルとfindにそれをオフにパントhttp://us2.php.net/manual/en/function.unlink.php
可能性の重複:私は、あるフォルダ内のすべての画像を削除する方法を
How to delete files from directory based on creation date in php?私は24時間以上経過しているフォルダ内のすべての画像を削除する方法を
24時間以上前のPHPで?あなたは* nixのにしている場合は、シェルとfindにそれをオフにパントhttp://us2.php.net/manual/en/function.unlink.php
$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);
}
組み合わせ
shell_exec('find /path/to/your/directory -mtime +0 -exec rm -f {} \;');
shell_exec('find /path/to/files* -mtime +1 -exec rm {} \;');
は、WindowsマシンとLinuxをロックダウンマシンを含む、検索パスにfind' 'なしのサーバー上で動作しません。 – Charles
別の解決法は、あなたがそれを支配するならば、unixタイムスタンプを含む命名規則を使うことです。
unlink()に$ fileの前に$ directoryが必要になることがあります。最終的にglob()で簡単になります。 – mario
また、質問にあるように、イメージに一致する必要があります - 回答を更新しました –