zawaratość obrazków

0

Hej

uploduje pliki z mojego kompa na serwer, dotychczas miałem tak, że sprawdzałem czy nazwa pliku już istnieje, ale chciałbym pójść dalej i sprawdzić w jakiś spoób zawartość pliku, tak aby można było wczytać pliki o tych samych nazwach.
Można to wykonać w PHP ?

0

Porównywanie zawartości wszystkich plików za każdym razem byłoby nieoptymalne.
Ale od czego są funkcje hashujące?
Przy wgrywaniu każdego obrazka generuj sobie md5 z takiego pliku i zapisuj np. jako: $nazwa_pliku.'.md5', potem wczytuj pliki md5 i porównuj.
Aby przyśpieszyć całość oraz zmniejszyć ryzyko kolizji - porównuj tylko hashe plików, które mają identyczny rozmiar jak ten właśnie wgrywany.
Jeżeli znajdziesz coś, co ma identyczny rozmiar i hash - wciąż jest szansa (choć chyba mniejsza niż trafienie szóstki w totka ;p) na to, że to tylko kolizja - wtedy w sumie można się pokusić o porównanie zawartości plików. Ew. zapisuj dwa hashe (md5 i sha któryś).

Edit: Zgłosiłem Twój post do przeniesienia do działu PHP. Jakby Ci "zniknął" ten topik to właśnie tam go szukaj ;)

0

hmm, czyli tak naprawdę nie będzie 100% pewności, że ten plik już występuje, bo jeśli mam dwa takie same pliki o różnej zawartości, a w dodatku o tej samej wielkości to kicha, tak....

0

Przeczytaj mądre linki, które Ci podałem i przeczytaj ze zrozumieniem posta.

  1. Porównując rozmiar i hashe ograniczasz szansnę na znalezienie fałszywego duplikatu do szansy mniejszej niż wygrania w totka. Duplikaty będą znajdywane na 100% (jeżeli plik będzie zawierał te same dane - nie porównujesz wyglądu obrazków, które mogą być podobne (różna kompresja/format)).
  2. Jeżeli porównasz same pliki w przypadku wykrycia "podobno duplikatu" - całkowicie eliminujesz problem fałszywek i każdy znaleziony duplikat będzie faktycznie duplikatem, więc tranfność tego narzędzia będzie 100% poprawna, ZAWSZE.

1 użytkowników online, w tym zalogowanych: 0, gości: 1