Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Konwersja application/octet-stream na jpg
hettmix
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 10.03.2012

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


Witam.

Posiadam plik o rozszerzeniu *.bif utworzony przez kamerę urządzenia rejestrującego. Mime type tego pliku to application/octet-stream. W nagłówku tego pliku jest coś takiego:

Cytat
BIFFII...........JFIF......
HEX - 42 49 46 46 49 49


W systemie Windows plik nie jest prawidłowo rozpoznawany i nie można go wyświetlić, za to w XnView otwiera się bez problemu. XnView podaje, że jest to JPEG based file.

Funkcja:
  1. $data = file_get_contents($target);
  2. $image = imagecreatefromstring($data);
  3. print $image;

zwraca - Warning: imagecreatefromstring(): Data is not in a recognized format


Jak mogę wyświetlić ten plik w przeglądarce lub dokonać jego konwersji to formatu *.jpg ?. Czy nie jest to przypadkiem plik skompresowany ?.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Tak jak podejrzewałem, wystarczy wyciąć niepotrzebne bajty z przodu (w przypadku gdy ich liczba jest stała):
  1. $fname = '90000_001.bif';
  2. $data = substr(file_get_contents($fname), 71);
  3. file_put_contents($fname.'.jpeg', $data);
Gdy ich długość jest zmienna trzeba wyciąć wszystko do napotkania:
Kod
0xff 0xdb 0xff 0xe0 0x00 0x10 0x04A 0x46 0x49 0x46


Ten post edytował redeemer 23.09.2013, 11:47:25
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: 7.10.2025 - 22:19