(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)
finfo_open -- finfo::__construct — 新しい fileinfo リソースを作成する
手続き型
$options
= FILEINFO_NONE
[, string $magic_file
= NULL
]] )オブジェクト指向型 (コンストラクタ)
$options
= FILEINFO_NONE
[, string $magic_file
= NULL
]] )この関数は、magic データベースをオープンしてそのリソースを返します。
options
ひとつあるいは複数のFileinfo 定数の組み合わせ。
magic_file
magic データベースファイルの名前。通常は /path/to/magic.mime のようになります。 指定されなかった場合は、環境変数 MAGIC の値が使用されます。この環境変数も設定されていない場合、 /usr/share/misc/magic をデフォルトで使用します。 必要に応じて、.mime や .mgc が追加されます。
NULL あるいは空文字列は、デフォルト値と同じ意味となります。
(手続き型の場合のみ) 成功した場合に magic データベースリソース、失敗した場合に FALSE
を返します。
PHP >= 5.3.11 および >= 5.4.1 で、magic データベースのフォーマットが変わりました。 そのため、内部的な mime データベースも更新されました。 この影響が特に及ぶのは、外部の magic を読み込んでいる場合です。 旧フォーマットの magic ファイルを読み込んでも動作しません。 また、mime タイプのテキスト表現が変わったものもあります。たとえば PHP の場合の返り値は "PHP script text" ではなく "PHP script, ASCII text" となります。
例1 オブジェクト指向型
<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // mime タイプを mimetype 拡張形式で返します
/* 指定したファイルの mime タイプを取得します */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);
?>
例2 手続き型
<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // mime タイプを mimetype 拡張形式で返します
if (!$finfo) {
echo "fileinfo データベースのオープンに失敗しました";
exit();
}
/* 指定したファイルの mime タイプを取得します */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);
/* 接続を閉じます */
finfo_close($finfo);
?>
上の例の出力は以下となります。
text/plain; charset=us-ascii