zawaratość obrazków

zawaratość obrazków
  • Rejestracja: dni
  • Ostatnio: dni
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 ?

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
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 ;)

  • Rejestracja: dni
  • Ostatnio: dni
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....

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.