PHP删除n天以前的文件,删除指定目录下指定类型(扩展名)的文件,包括子目录子和目录下的文件.
其中$ext数组代表不删除的文件扩展名.
调用函数trash('目录名',时间值);如trash('./files',3600)
参数时间值的单位是秒,如果省略不写,使用trash('./'),将删除当前时间10秒前及更早的文件.
<?php
function trash($folder,$time=10){
$ext=array('php','htm','html'); //带有这些扩展名的文件不会被删除.
$o=opendir($folder);
while($file=readdir($o)){
if($file !='.' && $file !='..' && !in_array(substr($file,strrpos($file,'.')+1),$ext)){
$fullPath=$folder.'/'.$file;
if(is_dir($fullPath)){
trash($fullPath);
@rmdir($fullPath);
} else {
if(time()-filemtime($fullPath) > $time){
unlink($fullPath);
}
}
}
}
closedir($o);
}
trash('./');//调用自定义函数
?> |