Создаёт экземпляр finfo

# finfo_open

# finfo::__construct

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

finfo_open -- finfo::__construct — Создаёт экземпляр finfo

### Описание

Процедурный стиль

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`)

Данная функция открывает магическую базу данных и возвращает экземпляр.

### Список параметров

`flags`
  Одна или несколько объединённых через бинарное ИЛИ констант Fileinfo.
`magic_database`
  Имя файла магической базы данных, обычно что-то наподобие этого: /path/to/magic.mime. Если не указан полный путь, будет использована переменная окружения `MAGIC`. Если переменная окружения не указана, то будет использоваться встроенная в PHP магическая база данных. Передача `null` или пустой строки эквивалентно значению по умолчанию.

### Возвращаемые значения

(Только процедурный стиль) Возвращает экземпляр finfo в случае успешного выполнения или `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
8.1.0 | Возвращает экземпляр finfo; ранее возвращался ресурс (resource).
8.0.3 | `magic_database` теперь допускает значение null.

### Примеры

Пример #1 Объектно-ориентированный стиль

    <?php
    $finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // возвращает mime-тип а-ля mimetype расширения

    /* получить mime-type для указанного файла */
    $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-type для указанного файла */
    $filename = "/usr/local/something.txt";
    echo finfo_file($finfo, $filename);

    /* закрыть соединение */
    finfo_close($finfo);
    ?>

Результат выполнения приведённого примера:

    text/plain; charset=us-ascii

### Примечания

> Замечание: Обычно использование встроенной магической базы данных (при неустановленных `magic_database` и `MAGIC`) лучший выбор, если вам не нужна определённая версия магической базы данных.

### Смотрите также

- finfo_close() - Закрывает экземпляр finfo

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