finfo_open

finfo::__construct

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

finfo_open -- finfo::__constructСоздает ресурс Fileinfo

Описание

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

finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file ]] ) : resource

Объектно-ориентированный стиль (конструктор):

public finfo::__construct ([ int $options = FILEINFO_NONE [, string $magic_file ]] )

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

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

options

Одна или несколько объединенных через бинарное ИЛИ констант Fileinfo.

magic_file

Имя файла магической базы данных, обычно что-то наподобие этого: /path/to/magic.mime. Если не указан полный путь, будет использована переменная окружения MAGIC. Если переменная окружения не указана, то будет использоваться встроенная в PHP магическая база данных.

Передача NULL или пустой строки эквивалентно значению по умолчанию.

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

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

Примечания

Внимание

Начиная с PHP >= 5.3.11 и >= 5.4.1 формат магической базы данных изменен. Вследствие этого внутренняя база данных mime была также обновлена. Особенно это влияет на код, где читается внешняя база magic. Чтение magic-файлов старых форматов работать не будет. Также изменены некоторые текстовые представления mime-типов, например, для PHP будет возвращено "PHP script, ASCII text" вместо "PHP script text".

Замечание:

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

Примеры

Пример #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

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