Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Określenie typu pliku, $_FILES['plik_upload']['type']
seba199696
post 3.11.2011, 18:19:35
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 4.01.2011

Ostrzeżenie: (20%)
X----


Siema smile.gif Jak mam:

  1. echo $_FILES['plik_upload']['type'];


To mi pokazuje np. "audio/mp3". Można określić typ pliku bez końcówki mp3?

audio/mp3 = audio

image/png = image

Z góry dzięki smile.gif
Go to the top of the page
+Quote Post
croc
post 3.11.2011, 18:25:52
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


  1. $type = substr($_FILES['plik_upload']['type'], 0, strpos($_FILES['plik_upload']['type'], '/'));
Go to the top of the page
+Quote Post
Crozin
post 3.11.2011, 18:28:35
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Na tej wartości (element "type" z $_FILES) nie powinieneś polegać - tam może być dosłownie wszystko. To przeglądarka ustala wartość tej zmiennej.
2. Jest kilka solidnych metod na określenie typu mime pliku - znajdziesz je w Google'u.
3. Typ MIME powinien* zawsze mieć format "rodzina typów"/"konkrety typ", więc przycięcie tego ciągu od pierwszego znaku do pierwszego wystąpienia znaku "/" powinno zwrócić odpowiednią wartość (video, autdio, application, text itd.).
4. Dodatkowo jeżeli typ MIME nie ma formatu aaa/bbb powinieneś uznać, że nie możesz go odczytać.

* nie jestem pewien co do tego wymogu, ale tak chyba jest.
Go to the top of the page
+Quote Post
seba199696
post 3.11.2011, 18:29:00
Post #4





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 4.01.2011

Ostrzeżenie: (20%)
X----


Działa pięknie smile.gif Dzięki i pozdrawiam!
Go to the top of the page
+Quote Post
viking
post 4.11.2011, 08:00:23
Post #5





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Używaj do określenia http://www.php.net/manual/pl/book.fileinfo.php albo http://php.net/manual/pl/class.splfileinfo.php . Możesz wybrać bezpośrednio przez http://www.php.net/manual/pl/splfileinfo.getextension.php To co tutaj masz sugerowane jest niebezpieczne.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 20:06