首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问题:保留图像

问问题:保留图像
EN

Stack Overflow用户
提问于 2010-10-28 22:53:46
回答 3查看 68关注 0票数 2

是的,我有一个问题。

我有我的上传头像。

1)弹出一个窗口

2)上传图片

3)你裁剪它

4)点击finish,就会得到新的头像(原来上传的图片会被裁剪后的图片替换掉,所以原来的图片会被移除,不会占用任何空间)

现在,如果用户在2)之后取消或离开此过程,则原始完整大小的图像将保留在服务器上。我想好了,如果他关闭弹出窗口,警告他,然后删除图像呢?那么,如果用户的浏览器崩溃,离开网站,或其他奇怪的情况怎么办。这仍然会使它保留在服务器上。

那么我能为此做些什么呢?我想到了一个临时目录,在xx时间之后删除其中的所有内容,但是没有cronjob就可以做到这一点吗?对于我的问题,有没有比这更好的解决方案?

EN

回答 3

Stack Overflow用户

发布于 2010-10-28 22:59:43

有一个目录中的项目过期是正常和合理的,正是您所描述的情况。用户突然消失了,你不得不扔掉他们留下的垃圾。

你有某种会话密钥吗?您可以将垃圾收集与会话密钥何时过期绑定在一起。

票数 1
EN

Stack Overflow用户

发布于 2010-10-28 23:01:29

你不能依赖于在窗口关闭时运行脚本,因为尽管它可能对大多数用户有效,但在许多情况下,它最终会被忽略或诸如此类。

最好的解决方案是,正如您所说的cron作业。如果你在共享主机上,不能在服务器上设置一个,写一个PHP脚本,它将检查图像并删除任何超过几个小时的旧图像。

然后在您自己的计算机上或其他地方设置一个计划任务,以便定期打开该网页。(在Linux上,可以设置一个使用wget的cron作业。)

票数 1
EN

Stack Overflow用户

发布于 2010-10-28 23:02:39

这应该不是非常困难的。PHP将上传到临时目录,您必须将文件从临时位置移动到所需的目录中。因此,为了避免在该过程完成之前检查图像,请传递该变量,并且在该过程结束之前不要从temp目录中执行文件的最后移动。我个人喜欢在完成一个多步骤的过程后做所有的DB更新,等等,以防他们决定退出。

清理--可能--是一项繁重的工作。但老实说,即使是在大型网站上,我也没有遇到过这样的情况,如果需要的话,你不能偶尔手动完成。每周在一个网站上有超过1000名用户,我们从来没有遇到过头像的空间问题。

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

https://stackoverflow.com/questions/4044069

复制
相关文章

相似问题

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