![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
czy ktoś z Was napotkał problemy związane z wykrywaniem MIME-TYPE korzystając z Symfony\Component\HttpFoundation\File\File::getMimeType()? Właśnie zrobiłem test na kilku rodzajach plików i wyszły mi bardzo dziwne wyniki: pliki/Kalimba.mp3 - application/octet-stream (powinno być: audio/mpeg) pliki/Aplikacja.docx - application/zip (powinno być: application/vnd.openxmlformats-officedocument.wordprocessingml.document) pliki/Wildlife.wmv - video/x-ms-asf (powinno być: video/x-ms-wmv) Rozszerzenia również są źle wykrywane i jestem niemal pewny że związane to jest z MIME TYPE. dla plików Desert.jpg, Oferta.pdf, Zrzut.png, lista.txt typy MIME i rozszerzenia wykrywane są poprawnie. Może ktoś z Was wie dlaczego tak się dzieje i jak sobie z tym poradzić? Walczę z tym już od rana, przeszukałem sieć bez skutecznie i powoli nie starcza mi na to sił... Będę mega wdzięczny za pomoc! Moje środowisko to: Ubuntu 12.04 PHP 5.5.1 Apache 2.4.6 Pozdrawiam, Maciek Ten post edytował macq 13.08.2013, 16:04:58 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 472 Pomógł: 7 Dołączył: 7.12.2005 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Wg dokumentacji:
Kod public string|null getMimeType() Returns the mime type of the file. The mime type is guessed using a MimeTypeGuesser instance, which uses finfo(), mimecontenttype() and the system binary "file" (in this order), depending on which of those are available. http://api.symfony.com/2.3/Symfony/Compone...e/MimeType.html - tak wygląda struktura owych guesserów. https://github.com/symfony/HttpFoundation/t...r/File/MimeType - tutaj masz ich kod. finfo_open() działa domyślnie dla PHP od 5.3 i wykorzystuje tzw. "magiczną sekwencję bajtów", których baza przechowywana jest w /etc/magic. Sprawdź, który guesser wykorzystywany jest w Twoim projekcie, jeśli on okaże się felerny - uzupełnij wymagania, żeby skorzystać z lepszego. Albo napisz takiego guessera sam. : ) Ten post edytował cadavre 13.08.2013, 22:40:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 03:42 |