Fileinfo: определение типа файла и его расширения
Объект fileinfo представляет информацию о файле, включая его имя, тип, размер, дату создания и т. д. Это очень полезный объект при работе с файлами в PHP.
Для создания объекта fileinfo в PHP можно использовать функцию finfo_open(). Пример кода:
$filename = 'file.txt';
$finfo = finfo_open(FILEINFO_MIME_TYPE); // создание объекта fileinfo
$type = finfo_file($finfo, $filename); // получение типа файла
echo "Тип файла $filename: $type";
finfo_close($finfo); // закрытие объекта fileinfo
В этом примере мы создали объект fileinfo с помощью функции finfo_open(), которой передали константу FILEINFO_MIME_TYPE. Эта константа указывает, что мы хотим получить MIME-тип файла. Затем мы получили тип файла, используя функцию finfo_file(), которой передали имя файла. Полученный тип файла мы вывели с помощью функции echo.
Также объект fileinfo может использоваться для определения кодировки файла. В этом случае мы должны передать константу FILEINFO_MIME_ENCODING в функцию finfo_open(). Пример кода:
$filename = 'file.txt';
$finfo = finfo_open(FILEINFO_MIME_ENCODING); // создание объекта fileinfo
$encoding = finfo_file($finfo, $filename); // получение кодировки файла
echo "Кодировка файла $filename: $encoding";
finfo_close($finfo); // закрытие объекта fileinfo
В этом примере мы создали объект fileinfo, указав константу FILEINFO_MIME_ENCODING, и получили кодировку файла с помощью функции finfo_file(). Полученную кодировку мы вывели на экран.
Таким образом, объект fileinfo очень полезен при работе с файлами в PHP, позволяя получить различную информацию о файлах, в том числе их тип и кодировку.