Как правильно определить mime_type файла в папке после распаковки zip?

Для определения MIME-типа файла в папке после распаковки zip в PHP, мы можем использовать функции из стандартной библиотеки PHP.

Сначала нам нужно получить список файлов из распакованной папки. Мы можем это сделать с помощью функции scandir(), которая возвращает массив имен файлов и папок из указанной директории. Например:

$folder = 'path/to/unzipped/folder';
$files = scandir($folder);

Теперь мы можем пройтись по каждому файлу в массиве и определить его MIME-тип. Мы можем использовать функцию finfo_file() из расширения Fileinfo, чтобы получить MIME-тип файла. Например:

$folder = 'path/to/unzipped/folder';
$files = scandir($folder);

foreach ($files as $file) {
    if (!is_dir($folder . '/' . $file)) {
        $filePath = $folder . '/' . $file;
        $finfo = finfo_open(FILEINFO_MIME_TYPE);
        $mimeType = finfo_file($finfo, $filePath);
        finfo_close($finfo);

        echo 'File: ' . $file . ', MIME Type: ' . $mimeType . '<br>';
    }
}

В этом примере мы проверяем, не является ли текущий элемент массива файлом. Затем мы создаем объект finfo, открываем файл и получаем его MIME-тип с помощью finfo_file(). Закрываем объект finfo, чтобы освободить память. Затем выводим имя файла и его MIME-тип.

Обратите внимание, что для работы с функцией finfo_file() вы должны иметь установленное и включенное расширение Fileinfo. Вы можете проверить наличие расширения, используя функцию extension_loaded(). Если расширение не установлено, вы можете установить его, добавив соответствующую строку в файл php.ini или связав его с помощью менеджера пакетов, такого как Composer.

Таким образом, вы сможете определить MIME-типы файлов в папке после распаковки zip в PHP.