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 相关文章推荐
11个PHP 分页脚本推荐
Aug 15 PHP
php报表之jpgraph柱状图实例代码
Aug 22 PHP
fgetcvs在linux的问题
Jan 15 PHP
Php图像处理类代码分享
Jan 19 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
浅谈php冒泡排序
Dec 30 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
php-redis中的sort排序函数总结
Jul 08 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 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版
2012/04/20 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
JS实现百度搜索框
2021/02/25 Javascript
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
基于Python的接口测试框架实例
2016/11/04 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
Python错误处理操作示例
2018/07/18 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
中软国际Java程序员笔试题
2014/07/19 面试题
市场开发与营销专业求职信范文
2014/05/01 职场文书
学校安全防火方案
2014/06/07 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏