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 相关文章推荐
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
php eval函数用法总结
Oct 31 PHP
PHP获取当前url的具体方法全面解析
Nov 26 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
PHP连接MSSQL方法汇总
Feb 05 PHP
一个简单的php路由类
May 29 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 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 作用域解析运算符(::)
2010/07/27 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
javascript 闭包详解
2015/07/02 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
JS 终止执行的实现方法
2016/11/24 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
禁烟标语大全
2014/06/11 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
限期整改通知书
2015/04/22 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS