PHP: Mimetype関数 - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<mhashmime_content_type>
view the version of this page
Last updated: Tue, 21 Dec 2004

LXIV. Mimetype関数

導入

このモジュールの関数は、ファイル内の特定の位置にある magicバイトシーケンスを探すことにより ファイルのcontent typeとエンコーディングの推定を試みます。 この手法は失敗する可能性がないわけではありませんが、発見的手法に より、非常に良い結果が得られます。

この拡張モジュールは、Apacheのmod_mime_magicから派生したものです。 mod_mime_magicは、それ自体Ian F. Darwinにより管理されている fileコマンドに基づいています。 より詳細な履歴や著作権についてはソースコードを参照して下さい。

要件

これらの関数は、標準モジュールの一部として利用可能であり、常に使用できます。

インストール手順

mime-type関数をサポートするためには、configureスイッチ --with-mime-magicを付けて PHPをコンパイルする必要があります。この拡張モジュールは、 Apache httpdと共に配布されているシンプル版の magicファイルのコピーを必要とします。

注意: configurオプションは、PHP 4.3.2以降、 --enable-mime-magicから --with-mime-magicに変更されていま す。

注意: この拡張モジュールは、一般に標準的なLinuxディストリビューションに付 属し、最近のバージョンのfileコマンドで使用され ていると思われる付加機能が多くついたmagic を処理する機能はありません。

Win32ユーザへの注意: このモジュールをWindows環境で使用するには、バンドルされた magic.mimeへのパスを php.ini に設定する必要 があります。

例 1. magic.mimeのパスの設定例

mime_magic.magicfile ="$PHP_INSTALL_DIR\magic.mime"
上の例の$PHP_INSTALL_DIRを実際の PHPのパス、例えば、c:\php に置き換えて下さい。

実行用の設定

これらの関数の動作は、php.iniの設定により変化します。

表 1. Mimetype設定オプション

名前デフォルト変更の可否
mime_magic.magicfile"/usr/share/misc/magic.mime"PHP_INI_SYSTEM
PHP_INI_*のより詳細な情報や定義については、 ini_set()を参照して下さい。

リソース型

この拡張モジュールはリソース型を全く定義しません。

定義済みの定数

この拡張モジュールは定数を全く定義しません。

目次
mime_content_type -- ファイルのMIME Content-typeを検出する


add a note add a note User Contributed Notes
Mimetype関数
podbox at gmail dot com
10-Mar-2005 12:58
Getting fileinfo to work, and using it:

add this to your php.ini, change the location to your magic.mime file.

mime_magic.magicfile = "/usr/share/misc/magic.mime"

The code:

$fInfo = new finfo(FILEINFO_MIME);
$mimeType = $fInfo->file($fileName);
echo $mimeType;
Bjorn dot Wiberg at its dot uu dot se
08-Mar-2005 08:32
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.
mad4linux
23-Feb-2005 02:28
The correct link to the mime-types list is:

pulstar at mail dot com
14-Jun-2003 06: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.  :-)

<mhashmime_content_type>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page