use Symfony\Component\Mime\MimeTypes;
function getFileExtension(string $fileContent): ?string
{
$mimeType = (new \finfo(FILEINFO_MIME_TYPE))->buffer($fileContent);
$mimeTypes = new MimeTypes();
$extensions = $mimeTypes->getExtensions($mimeType);
return $extensions[0] ?? null;
}
function getImageExtension(string $fileContent): ?string
{
$mimeType = (new \finfo(FILEINFO_MIME_TYPE))->buffer($fileContent);
// a custom mapping
return match ($mimeType) {
'image/gif' => 'gif',
'image/png' => 'png',
'image/jpeg' => 'jpg',
default => null,
};
}