2013-02-05 46 views
6

Piszę test jednostek dla klasy i trzeba wygenerować kilka plików z różnymi typami MIME.Jak ustawić typ mime na pliku za pomocą php?

W jaki sposób ustawić typ MIME podczas wysyłania pliku do zdalnego użytkownika (ala header()), ale jak to zrobić, gdy używasz fwrite() na serwerze lokalnym?

Dla pliku wygenerowanego w tej metodzie typ MIME pochodzi bezpośrednio z rozszerzenia pliku?

używam PHP 5.3.x na Ubuntu 12.04

Odpowiedz

6

Files nie mają typy MIME. Są identyfikowane przez rozszerzenia plików. Typy MIME są zwykle ustawiane przez rozszerzenia plików w /etc/mime.types. Cały typ MIME mówi klientowi, jakiego programu użyć do otwarcia pliku.

3

typ mime zwykle ma sens dla przeglądarek internetowych i klientów poczty e-mail tylko NIE dla plików fizycznych. Po prostu utwórz pliki z prawidłowymi rozszerzeniami, a Menedżer plików systemu Ubuntu odpowiednio je zinterpretuje.

1

Typ MIME należy do żądania HTTP wykonywanego przez serwer lub przeglądarkę. Jeśli używasz Apache, możesz ustawić domyślne typy MIME dla plików multimedialnych w pliku .htaccess. Następnie możesz spróbować sfałszować prośbę, zwrócić swoje pliki za pomocą CURL lub fsockopen i zajrzeć do nagłówka, jeśli typ MIME był poprawny ... na wszelki wypadek, jeśli chcesz upewnić się w teście jednostki, że typy MIME działają poprawnie.