Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzanie rodzaju pliku
Indeo
post
Post #1





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Czy można w jakiś sposób sprawdzić mając tylko dane binarne w bazie danych z jakiego typu plikiem mamy do czynienia? Mam w bazie pliki w postaci binarnej - jak wysłać do przeglądarki odpowiedni nagłówek jeśli nie znam wprost rodzaju pliku? Da się jakoś to wyciagnąć przez php albo wykombinowąć z poziomu bazy? Po prostu mam tylko zawartość plików nie mam nic o nich samych.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Każdy plik zawiera nagłówek, na podstawie którego jest identyfikowany przez system operacyjny. Dla przykładu: plik .bmp dane na swój temat w 54 pierwszych bajtach. Po odczytaniu z bazy danych początku każdego z plików i analizy zawartości tych pierwszych bajtów, możesz zidentyfikować dany plik.

Tu masz przykładowy nagłowek jpg-a:
Cytat
00000000: ff d8 ff e0 00 10 4a 46 - 49 46 00 01 01 00 00 01 ......JF IF......

Jak widzisz, od 7 do 10 bajtu masz tekst JFIF - identyfikator typu pliku jpg.

I tak musisz dla wszystkich typów plików stworzyć sobie bazę/tabelkę sygnatury nagłówków, a potem odczytywac z bazy np. pierwsze 200-300 bajtów pliku i porównywać z takimi sygnaturami.
Polecam Ci stronę http://www.fileformat.info/index.htm , gdzie masz wszystkie formaty plików opisane "od podszewki", łącznie z hexadecymalnymi ich zrzutami.

Ten post edytował blooregard 25.11.2009, 22:54:07
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 11:44