找回密码
 注册

[PHP] PHP删除指定时间以前的文件

php 发表于 2012/7/28 15:31 | 显示全部楼层 |阅读模式
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('./');//调用自定义函数
?>

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表