首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP自动图片生成库:删除缩略图

PHP自动图片生成库:删除缩略图
EN

Stack Overflow用户
提问于 2015-04-23 16:02:18
回答 2查看 581关注 0票数 0

我使用的PHP图库,自动生成图片库目录的图像。

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

我会修改脚本,以增加清除所有缩略图在用户定义的时间间隔后,例如12或24小时内的缩略图文件夹。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-24 08:15:40

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

使用cron作业也是另一种想法,但通常共享主机不允许它们使用。但是我推荐一个cron作业,比如每小时运行一次,并删除所有具有12/24小时以上时间戳的文件。

示例脚本使用GLOB

代码语言:javascript
运行
复制
<?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 -我的个人偏好

代码语言:javascript
运行
复制
<?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
EN

Stack Overflow用户

发布于 2015-04-23 16:14:36

如果您试图按常规计划清除旧文件,最好使用cron作业。

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

在PHP中:

代码语言:javascript
运行
复制
array_map('unlink', glob("tempfiles/*"));

目录位置为tempfiles的位置。您可以使用'*.jpg‘来删除图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29828755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档