<?php
//删除DIR路径下N天前创建的所有文件;
function delfile($dir,$n){
if(is_dir($dir)){
if($dh=opendir($dir)){
while (false !== ($file = readdir($dh))) {
if($file!="." && $file!="..") {
$fullpath=$dir."/".$file;
//如果不是目录
if(!is_dir($fullpath)){
//获取文件的最后修改时间,转化时间格式
$filedate=date("Y-m-d", filemtime($fullpath));
//当前时间转化时间戳
$d1=strtotime(date("Y-m-d"));
//文件的最后修改时间 转化时间戳
$d2=strtotime($filedate);
//换算成天
$Days=round(($d1-$d2)/3600/24);
//文件最后修改天数大于传进来的天数 就删除
if($Days>$n){
@unlink($fullpath);
}
}else{
//如果还是目录 递归 并判断目录count是否为2
delfile($fullpath,$n);
//目录存在'.','..',如果为空 count就是2
if(count(scandir($fullpath))==2){
rmdir($fullpath);// 删除空目录
}
}
}
}
}
closedir($dh);
}
}
delfile(__DIR__.'/log',7);
PHP删除linux下指定日期文件及空目录
最新推荐文章于 2022-06-21 10:27:27 发布