(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)
finfo_open -- finfo::__construct — 新しい fileinfo インスタンスを作成する
手続き型
オブジェクト指向型 (コンストラクタ)
この関数は、magic データベースをオープンしてそのインスタンスを返します。
flags
ひとつあるいは複数のFileinfo 定数の組み合わせ。
magic_database
magic データベースファイルの名前。通常は
/path/to/magic.mime のようになります。
指定されなかった場合は、環境変数 MAGIC
の値が使用されます。この環境変数も設定されていない場合は、
PHP の組み込みの magic データベースを使います。
null
あるいは空文字列は、デフォルト値と同じ意味となります。
成功した場合に
finfo クラスのインスタンスを返します。
失敗した場合に false
を返します.
バージョン | 説明 |
---|---|
8.1.0 | finfo クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 リソース を返していました。 |
8.0.3 |
magic_database は、nullable になりました。
|
例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
注意:
一般的には、独自の magic データベースを使う必要がある場合を除いて、 組み込みの magic データベースを使うのが一番いい方法です (
magic_database
を省略し、環境変数MAGIC
も設定しないようにします)。