# 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: 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.

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 php.ini directives.

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.