1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| <?php
class GC {
function rungc($cache_path,$gc_max) {
/*
Ici on a une routine de ramasse miette
qui nettoie le contenu du cache des fichiers hors d'age
et evite d'avoir un cache trop volumineux
tout les fichiers dont l'age est supérieur a gc_max
sont supprimés
*/
$handle=opendir($cache_path);
while ($file = readdir($handle)) {
$path=dirname($cache_path).'/'.$file;
if ( is_file($path) && filemtime($path)<time()-$gc_max && $file!='.htaccess' ) {
GC::delfile($path);
}
}
closedir($handle);
}
function delfile($file) {
/*
là une routine qui permet l'effacement du fichier file
sous unix puis windows
*/
@unlink($file);
clearstatcache();
if (@file_exists($file)) {
$filesys = str_replace("/", "\\", $file);
@system("del $filesys");
clearstatcache();
if (@file_exists($file)) {
@chmod ($file, 0775);
@unlink($file);
@system("del $filesys");
}
}
clearstatcache();
if (@file_exists($file)) {return FALSE; }
else { return TRUE; }
}
}
?> |