2012-05-09 9 views
8

क्या php का उपयोग कर विभिन्न नामों के साथ डुप्लिकेट छवियों को जांचने का कोई तरीका है? मैं सभी डुप्लिकेट हटाना चाहता हूं।php का उपयोग कर विभिन्न नामों के साथ डुप्लिकेट छवियों को जांचने का कोई तरीका है?

उत्तर

7

हाँ, आप सभी फ़ाइलों पर पुनरावृति और उनकी तुलना करने के लिए hash_file समारोह इस्तेमाल कर सकते हैं: http://php.net/manual/en/function.hash-file.php

+0

+1 रिटर्न की sha1_file हैश द्वारा यह जांच कर सकते हैं एक स्क्रिप्ट है कि (सबसे अधिक संभावना/उम्मीद है) पूरी फ़ाइल सामग्री को एक स्ट्रिंग में लोड नहीं करता है। – ThiefMaster

+0

जीबी – saravanabawa

3

मुझे लगता है कुछ हद तक एक सरल उपाय md5() का उपयोग कर छवियों पर चेकसम करने के लिए किया जाएगा।

एक निर्देशिका खोलें, md5s उत्पन्न करने वाली फ़ाइलों के माध्यम से लूप, md5s की तुलना करें, डुप्लिकेट हटाएं।

संपादित करें: यहाँ का उपयोग कर hash_file()

<?php 

$dir = "/full/path/to/images"; 
$checksums = array(); 

if ($h = opendir($dir)) { 
    while (($file = readdir($h)) !== false) { 

     // skip directories 
     if(is_dir($_="{$dir}/{$file}")) continue; 

     $hash = hash_file('md5', $_); 

     // delete duplicate 
     if (in_array($hash, $checksums)) { 
      unlink($_); 
     } 
     // add hash to list 
     else { 
      $checksums[] = $hash; 
     } 
    } 
    closedir($h); 
} 
+0

में फ़ाइलों के साथ जांचते समय यह त्रुटि दिखाता है, अगर छवि में बदलाव किए जाते हैं तो यह काम करेगा? जोड़ा वॉटरमार्क या ऐसा कुछ पसंद है? धन्यवाद – AMB

+0

केवल वे फ़ाइलें जो किसी अन्य के सटीक डुप्लीकेट हैं हटा दी जाएंगी –

1

आप की तुलना करने और एक फाइल

यह एक समारोह का उपयोग कर के लिए 40 वर्ण हेक्स संख्या

संबंधित मुद्दे

 संबंधित मुद्दे