Bilder vergleichen

Bash, Shell, PHP, Python, Perl, CGI
Post Reply
zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Bilder vergleichen

Post by zakmc »

Hallo,
ich wollte mir ein Programm schreiben, daß meine Urlaubsfotos verwaltet. Die Digitalkamera nennt die Bilder immer gleich, wenn ich sie von der Kamera lösche. Ich ahbe mir 2 Ordner gemacht ein neu ein fertig. Ich lese das Verzeichnis neu ein und benenne dann die Bidler um und kopiere Sie in den fertig Ordner. Ich möchte sehr gerne vermeiden, daß dort Doppelte Bilder erstellt werden. Kann man irgendwie prüfen,ob das Bild schon vorhanden ist? Nicht den Namen des Bildes sondern quasi den Inhalt.
thomi
Posts: 136
Joined: 2002-06-04 22:33
Location: Waldenbuch
 

Re: Bilder vergleichen

Post by thomi »

zakmc wrote:Kann man irgendwie prüfen,ob das Bild schon vorhanden ist? Nicht den Namen des Bildes sondern quasi den Inhalt.
Ich nehme mal an, du meinst einen Vergleich auf exakt dasselbe Bild? Da du nix zur Programmiersprache geschrieben hast, hier die Lösung auf der Shell:

Code: Select all

diff DATEINAME1 DATEINAME2
Sind die Dateien gleich, erscheint keine Ausgabe, sonst eine entsprechende Meldung.
zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Re: Bilder vergleichen

Post by zakmc »

wollte das eigentlich mit php machen aber shell geht genauso gut. kann ja einen systemaufruf amchen
thx
gamecrash
Posts: 339
Joined: 2002-05-27 10:52
 

Re: Bilder vergleichen

Post by gamecrash »

Hm, unter php hilft Dir evtl. die Funktion md5_file() weiter... ich glaub die vergleicht nur den Inhalt. Und wenn Du die zwei Hashwerte der zwei Dateien vergleichst und die gleich sind, sind die Bilder auch gleich.

Naja, also probiert hab ich's nicht, musste n bissel mit experimentieren.
zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Re: Bilder vergleichen

Post by zakmc »

das werde ich auf jeden fall probieren. thx
wenn das funktioniert wäre das auch noch besser als das erste
zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Re: Bilder vergleichen

Post by zakmc »

habe es hinbekommen
vielen dank euch beiden
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal
 

Re: Bilder vergleichen

Post by thorsten »

Fürs Archiv wäre dein Codeschnipsel nicht schlecht 8)
zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Re: Bilder vergleichen

Post by zakmc »

kein Problem. habe Kommentare eingefügt und hoffe das es daruch verständlich wird, ansonsten einfach hier posten oder ne pm

Code: Select all

    include_once("function/mydb_connect.php");  //PHP Function um die Verbindung zur DB herzustellen
    $connid=connect_to_mydb();  //DB Verbindung aufbauen
    $read_dir="neu";  //Name des einzulesenden Verzeichnisses
    $write_dir="bilder";  //Name des Verzeichnis wo das Bild gespeichert werden soll
    $fp_v=opendir($read_dir);  //Ã?ffnen eines Verzeichnis, gibt Verzeichnis-Handler zurück
    while($datei=readdir($fp_v)) {  //Gesamtinhalt des Verzeichnisses einlesen
      if(is_dir("$read_dir/$datei"))  //prüfen, ob es sich um ein Verzeichnis, parent directory oder upper directory handelt
        continue;  //sprung zum while
      $fp_r=fopen("$read_dir/$datei","r");  //Bild zum lesen öffnen
      $string=fread($fp_r,filesize("$read_dir/$datei"));  //Bild einlesen
      fclose($fp_r);  //Offne Datei schließen
      $hash=md5($string);  //Hashwert des String ermitteln
      if(mysql_num_rows(mysql_query("SELECT bildid FROM bild WHERE hash='$hash'"))>0)  //prüfen, ob hash schon in DB
        continue;  //sprung zum while
      mysql_query("INSERT INTO bild SET hash='$hash'");  //Hashwert in DB speichern
      $imgname=mysql_insert_id().".jpg";  //neuen Namen für das Bild erstellen, damit der Name eindeutig wird
      $fp_w=fopen("$write_dir/$imgname","w");  //Datei zum schreiben öffnen
      fwrite($fp_w,$string);  //Bild schreiben
      fclose($fp_w);  //Datei schließen
      unlink("$read_dir/$datei");  //Bild löschen
    }
    closedir($fp_v);  //Verzeichnis schließen
jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt
Contact:
 

Re: Bilder vergleichen

Post by jtb »

falls deine DigiCam Exif unterstützt, würde ich nur diese Header vergleichen - könnte ein bißchen schneller sein..
zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Re: Bilder vergleichen

Post by zakmc »

Mmmhhhh also im Handbuch steht nichts davon ..
was istd as denn überhaupt?
jtb
Posts: 599
Joined: 2002-08-18 16:41
Location: Darmstadt
Contact:
 

Re: Bilder vergleichen

Post by jtb »

zakmc
Posts: 22
Joined: 2003-03-04 22:30
 

Re: Bilder vergleichen

Post by zakmc »

Das werde ich heute oder morgen Abend gleich mal ausprobieren.
THX
Post Reply