新しい fileinfo インスタンスを作成する

# finfo_open

# finfo::__construct

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

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

### 説明

手続き型

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

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

public function 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 クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 resource を返していました。
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_close() - fileinfo インスタンスを閉じる

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open