Пример:
// Массив, связывающий номера форматов с соответствующими расширениями
$extensions = [
IMAGETYPE_GIF => 'gif',
IMAGETYPE_JPEG => 'jpg',
IMAGETYPE_PNG => 'png',
IMAGETYPE_SWF => 'swf',
IMAGETYPE_PSD => 'psd',
IMAGETYPE_BMP => 'bmp',
IMAGETYPE_TIFF_II => 'tif',
IMAGETYPE_TIFF_MM => 'tif',
IMAGETYPE_JPC => 'jpc',
IMAGETYPE_JP2 => 'jp2',
IMAGETYPE_JPX => 'jpx',
IMAGETYPE_JB2 => 'jb2',
IMAGETYPE_SWC => 'swc',
IMAGETYPE_IFF => 'iff',
IMAGETYPE_WBMP => 'wbmp',
IMAGETYPE_XBM => 'xbm',
IMAGETYPE_ICO => 'ico',
IMAGETYPE_WEBP => 'webp'
];
// Пример использования
$imageInfo = getimagesize('image.png');
$extension = $extensions[$imageInfo[2]] ?? 'unknown'; // Если тип не найден, выставляем unknown
echo "Расширение файла: $extension";
Что происходит:
- В массиве $extensions мы связываем числовой идентификатор формата (например,
IMAGETYPE_PNG
) с соответствующим расширением файла (например,png
). - Используем функцию
getimagesize()
, которая возвращает массив, содержащий информацию о размере и формате изображения. Второй элемент этого массива ($imageInfo[2]
) — это числовой идентификатор формата. - Обращаемся к нашему массиву по этому идентификатору и получаем нужное расширение.
Таким образом, вы можете легко получить расширение файла по его числу, используя вышеуказанный подход.