根据日期

时间:2016-08-17 09:31:37

标签: php unlink

我正在尝试从我的服务器中删除文件,具体取决于它们上面的时间。目前我已经获得了以下脚本,但即使它们是在7月份上传的,也没有文件正在降级:

$dir = opendir('uploads/tradsp/');
while($f = readdir($dir))
{

if((time()-filemtime('uploads/tradsp/'.$f) > 3600*24*4) and !(is_dir('uploads/tradsp/'.$f)))
unlink('uploads/tradsp/'.$f);
}
closedir($dir);

有人在代码中发现错误吗?

谢谢你的时间

1 个答案:

答案 0 :(得分:0)

您好if condition如果您想要删除过去几个月的文件,可能会出现一些错误,您只需获取文件的月份,并将其与当前月份进行比较

$dir = opendir('uploads/tradsp/');
$filemonth = date("n",filemtime("uploads/tradsp/".$f));
$currentmonth = date('n');
while($f = readdir($dir))
{
if(($filemonth < $currentmonth) and !(is_dir('uploads/tradsp/'.$f))){
unlink('uploads/tradsp/'.$f);
}
}
closedir($dir);

如果您要删除7月份文件,则会删除lastmonth的所有文件,您也可以使用$filemonth == 7中的条件if statements