Fileinfo 関数
PHP Manual

finfo_open

finfo::__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo::__construct新しい fileinfo リソースを作成する

説明

手続き型

resource finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )

オブジェクト指向型 (コンストラクタ)

finfo::__construct() ([ int $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

参考


Fileinfo 関数
PHP Manual