Forum Webscript.Ru
Программирование => PHP => Тема начата: Foshvad от 10 Декабря 2002, 23:54:59
-
Вопрос.
Есть на диске конкретный файл, как узнать его MIME - тип?
mime_content_type(), на сколько я понимаю, работает только под "PHP 4 CVS only" (кстати, что такое PHP CМЫ и чем он отличается от обыкновенного? :))
Спасибо!
-
если не указано походу никак, он просто попропробует вычитать такую инфу в файле, а если ее нет то увы.
-
Это из мана
Introduction
The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.
This extension is derivated from Apache mod_mime_magic, which is itself based on the file command maintaind by Ian F. Darwin. See the source code for further historic and copyright information.
Requirements
These functions are available as part of the standard module, which is always available.
Installation
The extension needs a copy of the magic.mime as distributed with the file command. This file also part of most recent Linux distributions and usually stored in the /usr/share/misc directory.
-
если не указано походу никак, он просто попропробует вычитать такую инфу в файле
на mime_content_type() у меня PHP 4.2.3 (модуль), говорит
Fatal error: Call to undefined function: mime_content_type()
а файл надо отрапвить аттачем, и если в заголовок не написать реальный mime, то ничего да само не вставиться :(
-
Foshvad
файлы любые или опред. типов?
Если первое, можно либо заархивировать файл (zip или tar.gz) и отправить аттачем либо написать свою таблицу mime-типов (простой хеш-массив на php). Типы можеш взять из apache/conf/mime.types
-
файлы любые или опред. типов?
разных типов.... может jpeg, а может и xls....
Так что хорошо бы определить..
-
Так что хорошо бы определить..
чем тебе на подошел вариант:
либо написать свою таблицу mime-типов (простой хеш-массив на php).
-
Foshvad
посмотри http://phpclub.mirrors.phpclasses.org/browse.html/file/2743.html
-
2GotZfild:
спасибо за ссылку, только тут по расширению определяется, а его каким угодно пользователь сделать может...
-
Комментарий из мана
On Unix systems, you could work around this by using the file(1) command via system, if you\'re allowed...
It outputs the mimetype to stdout, based on magic bytes, rather than just looking at the extension (like Windows does)
не подходит?
-
тоже самая проблема возникла у меня в разработчиской среде php 5.1.6 (LAMP) работает без проблем зато когда выкидываю в 4.3 так система материться, разница конечно есть в системах, где разрабатывается там PHP как модуль апача, а на яву то там как CGI.
ещё есть какие нибуть пути решения этой проблемы?