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来自动调用不同服务器上的flash
Oct 09 PHP
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
html静态页面调用php文件的方法
Nov 13 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
Yii2框架类自动加载机制实例分析
May 02 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
php面向对象重点知识分享
Sep 27 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 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 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
vue-resource 拦截器使用详解
2017/02/21 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
Django的session中对于用户验证的支持
2015/07/23 Python
python set内置函数的具体使用
2019/07/02 Python
python 发送json数据操作实例分析
2019/10/15 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
学生的自我鉴定范文
2013/10/24 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
2014年话务员工作总结
2014/11/19 职场文书
任命书标准格式
2015/03/02 职场文书
综治目标管理责任书
2015/05/11 职场文书