如何检查文件是mp3还是图像文件?

2022-08-30 17:26:28

除了检查每个可能的扩展名之外,如何检查文件是mp3文件还是图像文件?


答案 1

获取哑剧类型的本机方法:

对于 PHP < 5.3 使用 mime_content_type()
对于 PHP >= 5.3,请使用 finfo_fopen()

获取 MimeType 的替代方法是exif_imagetypegetimagesize,但这些依赖于安装适当的库。此外,它们可能只会返回图像哑剧类型,而不是 magic.mime 中给出的整个列表。

如果您不想为系统上可用的功能而烦恼,只需将所有四个函数包装成一个代理方法,该代理方法将函数调用委托给任何可用的函数,例如

function getMimeType($filename)
{
    $mimetype = false;
    if(function_exists('finfo_fopen')) {
        // open with FileInfo
    } elseif(function_exists('getimagesize')) {
        // open with GD
    } elseif(function_exists('exif_imagetype')) {
       // open with EXIF
    } elseif(function_exists('mime_content_type')) {
       $mimetype = mime_content_type($filename);
    }
    return $mimetype;
}

答案 2

您可以使用 getimagesize 标识图像文件。

要了解有关MP3和其他音频/视频文件的更多信息,我推荐php-mp4info getID3()


推荐