Table des matières
Niveau
..........
En rapport...

Quoi

Voici une methode simple qui permet d'effacer les fichiers contenus dans un répertoire lorsqu'ils sont vieux de X secondes.

Code

php
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);
		}
	}
}

Exemple

Voici une façon d'utliser cette fonction :

php
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.

Le path doit obligatoirement finir par un / !!

iDo 22/12/2005 17:21