![]() |
![]() |
![]()
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.
|
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 11:44 |