2010-03-27 29 views
0

我正在尝试创建一个cron作业,它将自动删除未超过5天未被访问的特定文件夹中的.jpg文件。运行cron作业不是问题,但我该如何编写将处理删除操作的脚本?如何删除超过5天未被访问的照片?

+1

确保你的文件系统被配置为存储访问时间! – Gabe 2010-03-27 06:15:51

回答

3

假设您的文件系统安装了时间/ relatime选项,您可以使用fileatime()来检测上次访问时间。

因此,像:

$dir = '/your/path/'; 

if ($fh = opendir($dir)) 
{ 
    while(($file = readdir($fh)) !== FALSE) 
    { 
     if ($file == '.' || $file == '..') 
      continue; 

     if (is_file($dir . $file) && fileatime($dir . $file) < strtotime('-5 days')) 
      unlink($dir . $file); 
    } 

    closedir($fh); 
} 
+0

如果未经过测试(即未实施atime),则您的测试总是评估为0 2010-03-27 06:35:16