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实现手机归属地查询API接口实现代码
Aug 27 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
php curl的深入解析
Jun 02 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
php中stream(流)的用法
Mar 25 PHP
PHP中echo和print的区别
Aug 28 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
PHP数组函数知识汇总
May 12 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
PHP中trait使用方法详细介绍
May 21 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 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/05/09 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
DOM 事件流详解
2015/01/20 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
ES6的新特性概览
2016/03/10 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
浅谈JS的原型和继承
2019/05/08 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
python:print格式化输出到文件的实例
2018/05/14 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
护士实习自我鉴定
2013/10/22 职场文书
个性大学生自我评价
2013/12/04 职场文书
高中军训感言200字
2014/02/23 职场文书
欠款起诉书范文
2015/05/19 职场文书
跳高加油稿
2015/07/21 职场文书
会议室使用管理制度
2015/08/06 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
golang中的struct操作
2021/11/11 Golang
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android