finfo_open

finfo::__construct

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

finfo_open -- finfo::__construct新しい fileinfo インスタンスを作成する

説明

手続き型

finfo_open(int $flags = FILEINFO_NONE, ?string $magic_database = null): finfo|false

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

public finfo::__construct(int $flags = FILEINFO_NONE, ?string $magic_database = null)

この関数は、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 も設定しないようにします)。

参考

関連キーワード:  finfo, インスタンス, fileinfo, 作成, database, データベース, flags, open, construct, Fileinfo