Lavender: / PHP (o.ä.) - doppelte Bilder finden

Hallo zusammen,

ich möchte demnächst meinen Usern anbieten, ihre Bilder auf meinen Webspace zu laden - soweit ist ja auch alles ganz einfach - allerdings kam es nun in der Vergangenheit vor, dass User Bilder mehrmals hochgeladen haben.

Frage nun:
kann ich testen, ob ein BILD schon vorhanden ist? Ich rede hier nicht von 20-30 sondern von mehr als 1000 d.h. ein kompletter Binärdurchlauf und vergleich ist ausgeschlossen - aber wie ist das mit diesem Hash5 (oder so ähnlich) - hat jemand eine Idee, wie ich diesem Problem Herr werden kann? (Perl und PHP werden unterstützt)

Vielen Dank im Voraus.

Gruß
Lavender

  1. Hallo Lavender,
    ohne DB bzw. Indexdatei geht es nicht serverschonend.

    In so einer Indexdatei kannst du alle Infos zum Bild
    reinschreiben, größe, ausmaße, filetyp, usw..

    Falls dann doch einmmal gleiche drunter sein sollten hilft
    dann ein Binärvergleich, bei den paar die dann noch übrigbleiben.

    Ich mache es so:
    Der neue Bildname hat schon mal einiges an Infos,
    die Ausmaße,Grösse,Datum und natürlich endung ala .png usw.

    also Bild wird hochgeladen und Infos abgegriffen:

    also: spanien93strand.jpg
    wird dann  400_350_78_20062004.

    Läad jetzt wieder jemand ein jpg bild hoch dass 400px breit ist
    350px hoch und 78kb hat dann schaue ich ob sowas schon da ist:
    file_exists() Falls nicht = nicht doppelt falls doch diese vergleichen...

    Wolke

    1. Hey vielen Dank für diesen Tipp, die Idee mit der Größe im Namen ist super, so lässt es sich Systemschonend umsetzen.

      Schönen Sonntag noch.

      Gruß
      Lavender

      1. Hey vielen Dank für diesen Tipp, die Idee mit der Größe im Namen ist super, so lässt es sich Systemschonend umsetzen.

        Schönen Sonntag noch.

        Gruß
        Lavender

        Na endlich mal Jemand, der nach einer erfolgreiche Antwort nicht einfach abhaut, sondern diese auch noch kommentiert.

        Daran sollten sich viele hier ein Beispiel nehmen ;-)

        ciao
        Lavender