Fileinfo
Функции в этом модуле пытаются определить тип содержимого и кодировку файла, основываясь на некоторых магических последовательностях байт на определенных позициях в файле. Пока данный подход не является абсолютно надежным, однако эвристика неплохо справляется со своей работой.
finfo_open()
- Создает ресурс Fileinfo.
- Данная функция открывает магическую базу данных и возвращает ресурс на нее.
- Имя файла магической базы данных, обычно что-то наподобие этого: /path/to/magic.mime. Если не указан полный путь, будет использована переменная окружения MAGIC. Если переменная окружения не указана, то будет использоваться встроенная в PHP магическая база данных.
//Пример #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 "Opening fileinfo database failed";
exit();
}
/* получить mime-type для указанного файла */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);
/* закрыть соединение */
finfo_close($finfo);
/*
Результат выполнения данного примера:
text/plain; charset=us-ascii
*/
?>
finfo_file($resource,$filename)
- Возвращает информацию о файле.
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // возвращает mime-тип
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
/*
text/html
image/gif
application/vnd.ms-excel
*/
?>
finfo_close($resource)
- Закрывает ресурс Fileinfo.
- Эта функция закрывает ресурс, который был открыт функцией finfo_open().