PHP Auto Photo生成图库:删除缩略图

时间:2015-04-23 16:02:19

标签: php image-gallery

我正在使用自动生成图片目录中的照片库的PHP库。

http://davidwalsh.name/generate-photo-gallery

我想修改脚本,以便在用户定义的时间间隔为12或24小时后添加清除thumb文件夹内所有缩略图的功能。

2 个答案:

答案 0 :(得分:1)

我个人不会在代码中使用glob作为一个错误的错误,你可能最终删除的不仅仅是指定的文件..如果你硬编码,你应该是安全的......

使用cron作业也是另一个想法,但一般共享主机不允许它们如果这是你使用的..但我会建议一个cron作业运行说每小时并删除所有文件的时间戳早于12 / 24小时..

使用GLOB的示例脚本

<?php
  $files = glob("thumbnailsfolder/*");
  $now   = time();

  foreach ($files as $file)
    if (is_file($file))
      if ($now - filemtime($file) >= 60*60*24*2) // 2 days
        unlink($file);
?>  

使用DirectoryIterator - 我的个人偏好

<?php
    foreach (new DirectoryIterator("thumbnailsfolder") as $fileInfo) {
        if ($fileInfo->isDot()) {
            continue;
        }
        if (time() - $fileInfo->getCTime() >= 1*24*60*60) {
            unlink($fileInfo->getRealPath());
        }
    }
?>  

取自The correct way to delete all files older than 2 days in PhP

的示例

答案 1 :(得分:0)

如果您要定期清除旧文件,最好使用cron作业。

但是,我做了类似的事情,在用户下载或查看文件后,我清除了目录。

PHP中的

array_map('unlink', glob("tempfiles/*"));

目录位置是临时文件。您可以使用'* .jpg'删除图像。