есть. . модуль fileinfo
http://php.net/manual/en/book.fileinfo.php
ps: если у вас заливаются файлы только определенных типов, то проверяйте структуру заголовков файла самостоятельно.
для картинок можно использовать стандартные функции получения информации о параметрах файла
Другие языки программирования и технологии
Разве ПХП определяет тип файла только по расширению? Других вариантов у него нет?
По волшебным первым 4 байтам можно определить) )
Но также придется проверить, является ли файл валидным файлом данного типа, а это нетривиально))
Но также придется проверить, является ли файл валидным файлом данного типа, а это нетривиально))
Если ты имел ввиду "PHP обрабатывает как PHP скрипты только файлы с расширением .php?" - это настраивается на стороне сервера. Например,
AddType application/x-httpd-php phtml php html htm css js
в файле httpd.conf сервера Apache ассоциирует с PHP *.phtml, *.php, *.html, *.htm, *.css, *.js
Если речь о чём-то другом, то вопрос неполный ("определяет" для чего и в каком месте программы? )
1. Никому, коме пользователя, нет дела до расширения файла.. .
2. Разве что только до его MIME-типа (пример выше - application/x-httpd-php)
3. Чтобы найти все файлы, например, *.mp3, есть функция glob
4. При загрузке файла на сервер расширение вообще ничего не значит - его можно поменять на стороне пользователя. Да и тут много других особенностей, связанных с безопасностью (особенно если пользователь загрузит что-то, что обрабатывается как PHP скрипт, а потом его откроет) .
А если вобщем, то есть только тип содержимого, а он определяется только по структуре этого самого содержимого :-) см. ответ Лайта Ягами
AddType application/x-httpd-php phtml php html htm css js
в файле httpd.conf сервера Apache ассоциирует с PHP *.phtml, *.php, *.html, *.htm, *.css, *.js
Если речь о чём-то другом, то вопрос неполный ("определяет" для чего и в каком месте программы? )
1. Никому, коме пользователя, нет дела до расширения файла.. .
2. Разве что только до его MIME-типа (пример выше - application/x-httpd-php)
3. Чтобы найти все файлы, например, *.mp3, есть функция glob
4. При загрузке файла на сервер расширение вообще ничего не значит - его можно поменять на стороне пользователя. Да и тут много других особенностей, связанных с безопасностью (особенно если пользователь загрузит что-то, что обрабатывается как PHP скрипт, а потом его откроет) .
А если вобщем, то есть только тип содержимого, а он определяется только по структуре этого самого содержимого :-) см. ответ Лайта Ягами
Антон Новицкий
Я имел в виду совсем другое, протупил и забыл уточнить. Я о загружаемых на сервер файлах...
Похожие вопросы
- Как определить что файл имеет зеркальное расширение? Особенно полезно будет для школьников и пожилых людей
- Создание файла со своим расширением
- Как искать и удалить файлы с определенным расширениям?
- помогите поменять тип файла
- Перечислить все файлы в C: \, расширение которых содержит X и сортировать результаты по размеру. cmd.exe
- Товарищи, есть функция которая определяет владельца файла, с задачей своей справляется НО при каждом выполнение поедает
- Что значит " Тип файла MDF " И как его Открыть?
- Вопрос про тип файла
- Что такое "тип файла mkv"? Через media player classic или light alloy его можно смотреть? Если нет то через что можно?
- Скачал оч нужную программу, запустил мне выдали тип файла: образ компакт диска. Что это значит и как запустить прогу?