2011-09-30 35 views
0

我有一个图像(源)存储在一台服务器(这台服务器是只有一个数据服务器没有PHP或任何东西),使用GD我在PHP服务器中创建另一个图像与源作为创建基地,所以我有一个生成图像和一个源文件,为了提高性能,我创建了一些“缓存”脚本,这些脚本在我的php服务器中生成了我生成的图像的副本,问题是如何比较源图像是否已更新以更新缓存? (不使用数据库,只是文件处理,我需要速度和低带宽使用)如何通过使用PHP无需下载即可比较2个文件?

的“缓存简单的代码”是:

<?php   
if (!file_exists('cache_image.png')) { 
     $img = file_get_contents('image_generator.png'); 
     file_put_contents('cache_image.png',$img); 

}else{ 
//i need to test if the source image have been updated 

} 

?> 
+3

如果你想检查一个文件是否已经改变,你不能只检查修改时间? – derobert

+1

为每个图像创建两个'img'标签,将文本“这些图像是否相同?”和页面上的“是”按钮和“否”按钮,并让用户告诉你。 –

+0

我想检查修改时间,建议@德罗伯特,但即时通讯有一些麻烦,以获得外部文件的修改时间 –

回答

0

我建议创建的每个文件的MD5哈希和比较哈希值。

+0

这将需要下载整个文件。 –

+0

当我比较这两个文件时,我有速度问题,因为生成外部文件md5的时间很长,我必须每次显示大约120个图像... –

+0

何时以及如何在另一台服务器上更新文件?可能有可能在服务器上创建文件的时间更新,然后解析该文件? –