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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
PHP异步调用socket实现代码
Jan 12 PHP
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
Sep 30 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
thinkphp的c方法使用示例
Feb 24 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
PHP实现的简单异常处理类示例
May 04 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+XML 制作简单的留言本 图文教程
2009/11/02 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
php单例模式实现方法分析
2015/03/14 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
基于python 字符编码的理解
2017/09/02 Python
Python正则表达式和元字符详解
2018/11/29 Python
django-allauth入门学习和使用详解
2019/07/03 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
汽车专业学生自我评价
2014/01/19 职场文书
实习老师离校感言
2014/02/03 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
支行行长岗位职责
2015/02/15 职场文书
婚前保证书范文
2015/02/28 职场文书