PHP: Eindeutige ID aus JPG-Datei auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP: Eindeutige ID aus JPG-Datei auslesen

    Hallo,
    kann man per PHP hochgeladene JPG-Dateien auf Dubletten prüfen (gleicher Bildinhalt)?
    Gibt es im JPG-Format da eine Art Signatur - anhand der man die Bild "vergleichen" könnte...

    Oder gibt es eine Möglichkeit (PHP-Class) die eine solche ID errechnet?

    Hintergrund: Es soll vermieden werden, dass das gleich Bild mehrfach hochgeladen wird.

    Danke für einen Tipp!

  • #2
    Hallo,

    ein Ansatz, der bei allen Dateiformaten funktioniert, ist über einen Hash. Dabei wird so eine Art Quersumme der Daten errechnet. Ich würde dir MD5 empfehlen.

    Wenn jemand allerdings das Bild auch nur leicht abändert, hat es nicht mehr den gleichen MD5-Hash. Um solche Fälle abzudecken, müsstest du heuristische Bildanalysemechanismen einsetzen.

    Gruß,

    Anja
    Zuletzt geändert von AmicaNoctis; 25.08.2009, 14:47.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Zitat von dreman Beitrag anzeigen
      kann man per PHP hochgeladene JPG-Dateien auf Dubletten prüfen (gleicher Bildinhalt)?
      Per PHP öffnen und auf Binärebene (===) vergleichen.
      Zitat von dreman Beitrag anzeigen
      Gibt es im JPG-Format da eine Art Signatur - anhand der man die Bild "vergleichen" könnte...
      Z.B. Signaturen von Digitalkameras, sollte man sich aber nicht unbedingt darauf verlassen. Kann aber durchaus sein, dass es noch andere Möglichkeiten gibt.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Du kannst nur den binären Inhalt der Dateien vergleichen. zB mit:

        PHP: sha1_file - Manual
        PHP: md5_file - Manual

        Den Bildinhalt kannst du nicht (ohne erheblichen Aufwand) vergleichen, denn sobald jemand die JPG-Datei öffnet und unverändert wieder speichert, ändert sich auch der Dateinhalt, weil die durch die (De-)Komprimierung Verlusste entstehen, durch die sich der Bildinhalt ändert.

        Kommentar


        • #5
          Cool, danke für schnellen Antworten.
          Werde "md5_file" mal testen.
          Sollte für meine Zwecke reichen, ist nur für eine Backendfkt.
          Wie "Gefahr" durch gleiche, neu abgespeicherte Dateien besteht bei meiner Problemstellung nicht...

          Danke euch!

          Kommentar

          Lädt...
          X