Funzione PHP per cancellare i vecchi file di una cartella PHP
/**
* Una semplice funzione che cancella i file di una cartella piu' vecchi di X secondi
*
* @param stirng $dir la directory (non deve terminare con "/")
* @param int $max_seconds secondi di vita
* @return array lista dei file cancellati
*/
function file_delete_older_than( $dir, $max_seconds ) {
$list = array();
$limit = time() - $max_seconds;
//
$dir = realpath( $dir );
if( !is_dir( $dir ) )
return;
// apro la cartella
$dh = opendir( $dir );
if( $dh === false )
return;
// ciclo sui file
while( ( $file = readdir( $dh ) ) !== false ) {
$file = $dir . '/' . $file;
if( !is_file( $file ) )
continue;
// test eta'
if( filemtime( $file ) < $limit ) {
$list[] = $file;
unlink( $file );
}
}
// chiudo la cartella
closedir( $dh );
// torno
return $list;
}
Estratto da: https://gist.github.com/tdebatty/9412259