php实现获取文件mime类型的方法


Posted in PHP onFebruary 11, 2015

本文实例讲述了php获取文件mime类型的方法。分享给大家供大家参考。具体如下:

1.使用 mime_content_type 方法

string mime_content_type ( string $filename )

Returns the MIME content type for a file as determined by using information from the magic.mime file.  

<?php 
$mime_type = mime_content_type('1.jpg'); 
echo $mime_type; // image/jpeg 
?>

但此方法在 php5.3 以上就被废弃了,官方建议使用 fileinfo 方法代替。

2.使用 Fileinfo 方法 (官方推荐)

使用fileinfo需要安装php_fileinfo扩展。
如已安装可以在extension_dir目录下找到php_fileinfo.dll(windows),fileinfo.so(linux)
打开php.ini,把extension=php_fileinfo.dll前的";"去掉,然后重启apache。

<?php 
$fi = new finfo(FILEINFO_MIME_TYPE); 
$mime_type = $fi->file('1.jpg'); 
echo $mime_type; // image/jpeg 
?>

3.使用 image_type_to_mime_type 方法(只能处理图象类型)

使用exif_imagetype方法需要安装php_exif扩展,并需要安装php_mbstring扩展
如已安装可以在extension_dir目录下找到php_exif.dll(windows),exif.so(linux)
打开php.ini,把 extension=php_mbstring.dll, extension=php_exif.dll 前的","去掉,然后重启apache

<?php 
$image = exif_imagetype('1.jpg'); 
$mime_type = image_type_to_mime_type($image); 
echo $mime_type; // image/jpeg 
?>

Tips:如果使用文件名的后缀来判断,因为文件后缀是可以修改的,所以使用文件后缀来判断会不准确。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php的控制语句
Oct 09 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
Nov 04 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
php递归遍历删除文件的方法
Apr 17 PHP
PHP加密解密类实例分析
Apr 20 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
两款万能的php分页类
Nov 12 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 PHP
php实现的简单多进程服务器类完整示例
Feb 01 PHP
php强制更新图片缓存的方法
Feb 11 #PHP
Laravel中使用自己编写类库的3种方法
Feb 10 #PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 #PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 #PHP
PHP实现获取FLV文件的时间
Feb 10 #PHP
PHP中实现获取IP和地理位置类分享
Feb 10 #PHP
PHP实现的简单mock json脚本分享
Feb 10 #PHP
You might like
PHP 常用函数库和一些实用小技巧
2009/01/01 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
javascript 写类方式之一
2009/07/05 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
如何基于python实现归一化处理
2020/01/20 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
用python实现一个简单的验证码
2020/12/09 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
投标售后服务承诺书
2015/04/29 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS