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模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
php网页病毒清除类
Dec 08 PHP
php字符串过滤与替换小结
Jan 26 PHP
YII Framework教程之异常处理详解
Mar 14 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
PHP文件下载实例代码浅析
Aug 17 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
php中输出json对象的值(实现方法)
Mar 07 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下连接mssql2005的代码
2011/01/17 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
python文件操作之目录遍历实例分析
2015/05/20 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
python suds访问webservice服务实现
2020/06/26 Python
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
感恩父母主题班会
2015/08/12 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
Python与C++中梯度方向直方图的实现
2022/03/17 Python