Hi,
ich will aus einem Verzeichnis und allen Unterverzeichnissen alle Dateien löschen, die älter als 20 Tage sind.
Dazu lese ich mittels glob die ganzen Verzeichnisse aus und schau mir dann die mtime an.
Das Ganze sieht derzeit so aus ($path ist das Startverzeichnis, wo die ganzen Unterverzeichnisse mit den zu löschenden Dateien liegen):
Funktioniert auch ganz gut, nur möchte ich jetzt auch noch alle Verzeichnisse löschen, die keine Dateien mehr enthalten. Und da scheiter ich aktuell irgendwie dran.
anddie
ich will aus einem Verzeichnis und allen Unterverzeichnissen alle Dateien löschen, die älter als 20 Tage sind.
Dazu lese ich mittels glob die ganzen Verzeichnisse aus und schau mir dann die mtime an.
Das Ganze sieht derzeit so aus ($path ist das Startverzeichnis, wo die ganzen Unterverzeichnisse mit den zu löschenden Dateien liegen):
PHP:
foreach $dir (glob("$path/*/*"))
{
my (undef, undef, undef, undef, undef, undef, undef, $size, $atime, $mtime, $ctime, undef, undef) = stat($dir);
$last_change = localtime($mtime);
if($mtime < (time() - (3600 * 24 * 10)))
{
print "\nLoesche ".$dir;
unlink($dir);
}
}
Funktioniert auch ganz gut, nur möchte ich jetzt auch noch alle Verzeichnisse löschen, die keine Dateien mehr enthalten. Und da scheiter ich aktuell irgendwie dran.
anddie