如何在不依赖扩展名的情况下确定文件类型?

Patricia Arquette
发布: 2024-10-30 04:32:28
原创
686 人浏览过

How to Determine File Type Without Relying on Extensions?

如何在不依赖扩展名的情况下检测文件类型

除了检查文件扩展名之外,确定文件是 mp3 还是图像格式是很有价值的编程中的任务。这是一个不依赖扩展的全面解决方案:

PHP >= 5.3:

<code class="php">$mimetype = finfo_fopen(fopen($filename, 'r'), FILEINFO_MIME_TYPE);</code>
登录后复制

PHP PHP

<code class="php">$mimetype = mime_content_type($filename);</code>
登录后复制
PHP

5.3:

  • 替代方案:
  • exif_imagetype:专门检查图像mimetypes。

getimagesize: 与 exif_imagetype 类似,但可能存在库依赖问题。

代理方法:
<code class="php">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;
}</code>
登录后复制

对于更通用的方法,考虑将这些函数封装到代理方法中:通过使用此代理方法,您可以根据系统上不同函数的可用性轻松确定文件的 mimetype。

以上是如何在不依赖扩展名的情况下确定文件类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!