【发布时间】:2011-09-20 15:13:24
【问题描述】:
我目前有一些用 PHP 编写的图像处理脚本,用于 CMS 网站。其中一个获取客户端上传的源图像,调整其大小,使用特定文件名写出处理后的图像(例如 100x100_id240.jpg 用于 100 x 100 缩略图,用于页面 id 240),最重要的是更改新的时间戳处理后的图像以匹配源图像。
每次浏览器请求页面时,php 脚本都会检查源图像和已处理图像的时间戳以确保它们匹配 - 如果不匹配,则客户端必须更改源图像,因此重复处理并且新版本会覆盖 100x100_id240.jpg。如果时间戳确实匹配,那么我们不需要重新处理图像,因此我们只需使用已处理的缩略图。
这很好用。然而,我时不时地得到一个客户端,他上传一堆具有完全相同时间戳的图像,达到 100 秒。如果然后将页面的源图像更改为具有相同时间戳的备用图像,则 php 脚本会愉快地进行并将源图像时间戳与处理后的图像时间戳进行比较,发现时间戳相同,因此不要重新处理新的源图像。然后我们得到一个不正确的缩略图输出。
我考虑过在上传时向源图像写入一个随机时间戳,这样可以解决问题。但我宁愿保留这个印章。 所以我需要另一种方法(处理不繁重,例如计算源图像中所有红色的像素)。我想知道我是否可以编写一个独特的代码来 exif 数据或其他东西。但是 exif 仅适用于 jpg 对吗? 关于如何解决这个问题的任何想法?谢谢
【问题讨论】:
-
检查md5_file函数
标签: php image image-processing