PHP Manual
Prev |  | Next

# LXXXI. Mimetype Functions

# Introduction

Warning
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`.

> 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

Name | Default | Changeable | Changelog
--- | --- | --- | ---
mime_magic.debug | "0" | PHP_INI_SYSTEM | Available since PHP 5.0.0.
mime_magic.magicfile | "/path/to/php/magic.mime" | PHP_INI_SYSTEM | Available since PHP 4.3.0.

For further details and definitions of the PHP_INI_* constants, see the Appendix G.

Here's a short explanation of the configuration directives.

mime_magic.debug bool

  Enable/disable debugging.

mime_magic.magicfile string

  The path to the magic.mime file.

# Resource Types

This extension has no resource types defined.

# Predefined Constants

This extension has no constants defined.

Prev | Home | Next
mhash | Up | mime_content_type