This extension has been deprecated as the PECL extension
Fileinfo
provides the same functionality (and more) in a much cleaner way.
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 derived from Apache mod_mime_magic,
which is itself based on the file
command maintained by Ian F. Darwin. See the source code for
further historic and copyright information.
Requirements
No external libraries are needed to build this extension.
Installation
You must compile PHP with the configure switch
--with-mime-magic to get support for
mime-type functions. The extension needs a copy of the simplified
magic file that is distributed with the Apache httpd.
Note:
The configure option has been changed from
--enable-mime-magic
to --with-mime-magic since PHP 4.3.2
Note:
This extension is not capable of handling the fully decorated
magic file that generally comes with
standard Linux distro's and is supposed to be used with
recent versions of file command.
Note to Win32 Users:
In order to use this module on a Windows environment, you must set the path
to the bundled magic.mime file in your php.ini.
I know about PECL, still:
for getting mime type from magic.mime this was my addon
# FLV
0 string FLV video/x-flv
for Adobe's FLV video.
bjorn dot wiberg
For those experiencing problems with "invalid magic file, disabled" in phpinfo() although everything seems to be set up correctly:
It seems that the real error behind this is that the PHP mime_magic
extension does NOT obey "php_admin_value mime_magic.magicfile" or
"php_value mime_magic.magicfile" directives in httpd.conf, although the
documentation states that mime_magic.magicfile should be settable from
PHP_INI_SYSTEM, i.e., from php.ini and httpd.conf.
Adding the following to php.ini correctly configures mime_magic (using
an Apache 2-supplied magic file):
[mime_magic]
mime_magic.magicfile = "/etc/apache/magic"
Furthermore, phpinfo() will SHOW any httpd.conf setting of
mime_magic.magicfile that you make, but still not actually USE anything
but what you specified in php.ini!
Hopefully this can help someone. As the mime_magic extension is deprecated, it is not supported anymore, so I guess we can't expect any fixes to this. Even though many scripts still use the mime_magic functionality.