finfo_open
finfo::__construct
新しい fileinfo インスタンスを作成する
説明
手続き型
finfofalse finfo_open(int $flags
= FILEINFO_NONE
, stringnull $magic_database
= null
)
public finfo::__construct(int $flags
= FILEINFO_NONE
, stringnull $magic_database
= null
)
パラメータ
-
flags
-
ひとつあるいは複数のFileinfo
定数の組み合わせ。
-
magic_database
-
magic データベースファイルの名前。通常は
/path/to/magic.mime のようになります。
指定されなかった場合は、環境変数 MAGIC
の値が使用されます。この環境変数も設定されていない場合は、
PHP の組み込みの magic データベースを使います。
null
あるいは空文字列は、デフォルト値と同じ意味となります。
戻り値
成功した場合に
finfo クラスのインスタンスを返します。
失敗した場合に false
を返します.
例
例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
も設定しないようにします)。