downloads | documentation | faq | getting help | mailing lists | reporting bugs | sites | links | my 
search for in the  
view the version of this page
Last updated: Thu, 21 Aug 2003

LVI. Mimetype Functions


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.


No external libraries are needed to build this extension.


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 bundeld magic.mime file in your php.ini.

Example 1. Setting the path to magic.mime

mime_magic.magicfile ="$PHP_INSTALL_DIR\magic.mime"
Remember to substitute the $PHP_INSTALL_DIR for your actual path to PHP in the above example. e.g. c:\php

Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Table 1. Mimetype configuration options

For further details and definition of the PHP_INI_* constants see ini_set().

Resource Types

This extension has no resource types defined.

Predefined Constants

This extension has no constants defined.

Table of Contents
mime_content_type -- Detect MIME Content-type for a file

add a note add a note User Contributed Notes
Mimetype Functions
leandro_dealmeida at hotmail dot com
07-Aug-2003 11:58
I tried to use the default magic.mime file on /usr/share and I got few problems like seg faults and incorrect mimetypes, specially from m$-office.
The workaround for this problem is use the default magic file for the apache installation (for who uses the apache). This file is set by default in ServerRoot/conf/magic.

Then you should set (or reset) the directive mime_magic.magicfile = "/etc/httpd/conf/magic" (change the obsolute path to yours...) in php.ini file.

Restart the web server, take a look on phpinfo() functions to check if all changes were made and enjoy it.

Remember to compile php with option --enable-mime-magic (version <= 4.3.1) or --with-mime-magic (version >= 4.3.2)

pulstar at mail dot com
14-Jun-2003 01:29
If you want to see a good list of mime types, look at:

PS: a function here to detect know file extensions for files may be nice. It could be useful to fix the names of files sent by users with incorrect extension.  :-)

 Last updated: Thu, 21 Aug 2003
show source | credits | sitemap | mirror sites 
Copyright © 2001-2003 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Sat 01 Nov 2003 04:13:36 EST EST