Forum Webscript.Ru

Программирование => PHP => Тема начата: Foshvad от 10 Декабря 2002, 23:54:59

Название: mime_content_type
Отправлено: Foshvad от 10 Декабря 2002, 23:54:59
Вопрос.
Есть на диске конкретный файл, как узнать его MIME - тип?
mime_content_type(), на сколько я понимаю, работает только под "PHP 4 CVS only" (кстати, что такое PHP CМЫ и чем он отличается от обыкновенного? :))

Спасибо!
Название: mime_content_type
Отправлено: rembo от 11 Декабря 2002, 03:30:33
если не указано походу никак, он просто попропробует вычитать такую инфу в файле, а если ее нет то увы.
Название: mime_content_type
Отправлено: rembo от 11 Декабря 2002, 03:34:42
Это из мана

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
Отправлено: Foshvad от 11 Декабря 2002, 09:43:52
Цитировать
если не указано походу никак, он просто попропробует вычитать такую инфу в файле

на mime_content_type() у меня PHP 4.2.3 (модуль), говорит
Fatal error: Call to undefined function: mime_content_type()

а файл надо отрапвить аттачем, и если в заголовок не написать реальный mime, то ничего да само не вставиться :(
Название: mime_content_type
Отправлено: Макс от 11 Декабря 2002, 10:01:37
Foshvad
файлы любые или опред. типов?
Если первое, можно либо заархивировать файл (zip или tar.gz) и отправить аттачем либо написать свою таблицу mime-типов (простой хеш-массив на php). Типы можеш взять из apache/conf/mime.types
Название: mime_content_type
Отправлено: Foshvad от 11 Декабря 2002, 14:14:18
Цитировать
файлы любые или опред. типов?


разных типов.... может jpeg, а может и xls....
Так что хорошо бы определить..
Название: mime_content_type
Отправлено: Макс от 11 Декабря 2002, 17:13:51
Цитировать
Так что хорошо бы определить..
чем тебе на подошел вариант:
Цитировать
либо написать свою таблицу mime-типов (простой хеш-массив на php).
Название: mime_content_type
Отправлено: GotZfild от 11 Декабря 2002, 17:28:54
Foshvad
посмотри http://phpclub.mirrors.phpclasses.org/browse.html/file/2743.html
Название: mime_content_type
Отправлено: Foshvad от 11 Декабря 2002, 23:07:06
2GotZfild:


спасибо за ссылку, только тут по расширению определяется, а его каким угодно пользователь сделать может...
Название: mime_content_type
Отправлено: GotZfild от 12 Декабря 2002, 11:53:58
Комментарий из мана
Цитировать
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)
не подходит?
Название: mime_content_type
Отправлено: alex007 от 28 Декабря 2006, 23:47:52
тоже самая проблема возникла у меня в разработчиской среде php 5.1.6 (LAMP) работает без проблем зато когда выкидываю в 4.3 так система материться, разница конечно есть в системах, где разрабатывается там PHP как модуль апача, а на яву то там как CGI.

ещё есть какие нибуть пути решения этой проблемы?