2011-09-30 43 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

何時以及如何在另一臺服務器上更新文件?可能有可能在服務器上創建文件的時間更新,然後解析該文件? –