想写一个删除文件夹内所有大于24小时的文件的php代码
比如说文件夹aaa里面每天都会生成很多文件,我想写个能删除这个文件夹内超过24小时的文件的php代码。求代码谢谢。...
比如说文件夹aaa里面每天都会生成很多文件,我想写个能删除这个文件夹内超过24小时的文件的php代码。求代码谢谢。
展开
2个回答
展开全部
function del_file($path = '.') {
$current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false
while(($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目
$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
if($file == '.' || $file == '..') {
continue;
} else if(is_dir($sub_dir)) { //如果是目录,进行递归
del_file($sub_dir);
} else { //如果是文件,判断是24小时以前的文件进行删除
$files = fopen($path.'/'.$file,"r");
$f =fstat($files);
fclose($files);
if($f['mtime']<(time()-3600*24)){
if(@unlink($path.'/'.$file)){
echo "删除文件【".$path.'/'.$file."】成功!<br />";
}else{
echo "删除文件【".$path.'/'.$file."】失败!<br />";
}
}
}
}
}
del_file('d:/www');
追问
嗯,那删除指定目录内所有大于5分钟的非空文件夹要怎么写呢?那个成功跟失败的提示可以不用
追答
if($f['mtime']<(time()-3600*24)){
@unlink($path.'/'.$file);
}
改一下时间,3600*24秒(一天),改成的 60*5 秒(5分钟)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询