Voici une methode simple qui permet d'effacer les fichiers contenus dans un répertoire lorsqu'ils sont vieux de X secondes.
function DeleteOldFile($path,$Patern='*',$oldSec=300) { //Efface les fichiers vieux de $oldSec (temps en seconde) //Path : Chemin a parser //$Patern : Fichier a effacer, peu contenir des wildchar exemple tmp*.jpg clearstatcache(); foreach (@glob($path.$Patern) as $filename) { if (filemtime($filename)+$oldSec < time()) { if (is_dir($filename)) { DeleteOldFile($filename.'/'.$Patern,$oldSec); @rmdir($filename); } else @unlink($filename); } } }
Voici une façon d'utliser cette fonction :
DeleteOldFile('/upload/','*',86400);
Ceci effacera tous les fichiers se trouvant dans le répertoire UPLOAD et dont leur date est vielle de 24h ou plus.
— iDo 22/12/2005 17:21
Discussion