php获取文件mime类型的几种方法
分类:微服架构

在用 codeigniter 的上传类上传图片的时候,明明是 jpg 格式图片,然则 ci 始终识别成 application/octet-stream 类型,进而诱致上传战败,网罗了下资料,消除办法如下:

      MIME类型便是设定某种扩大名的公文用一种应用程序来展开的措施连串,当该扩大名文件被访问的时候,浏览器会活动使用钦赐应用程序来开拓。多用于钦点一些顾客端自定义的公文名,以致一些媒体文件张开药方式。

在 php.ini 中拉开 fileinfo 扩展来获得科学的项目:
复制代码 代码如下:
//windows
extension = php_fileinfo.dll

php获取文件mime类型有以下二种办法:

//linux
extension = fileinfo.so

1、mime_content_type(卡塔尔(قطر‎函数剖断取得mime类型

注:关于fileinfo

 mime_content_type重回内定文件的MIME类型,

PHP官方推荐mime_content_type(State of Qatar的代表函数是Fileinfo函数。PHP 5.3.0+已经暗中同意帮助Fileinfo函数(fileinfo support-enabled卡塔尔国,不必进行其余配置就能够使用finfo_open(卡塔尔国判别取得文件MIME类型。Centos 默许安装的LAMP蒙受php版本依旧PHP5.2.6,低于5.3.0版本则可能现身犹如错误提示:PHP Fatal error: Call to undefined function finfo_open(State of Qatarin…。因为事前的php版本,须求加载magic_open类,fileinfo函数归属PECL扩大,启用fileinfo PECL扩充工夫

用法:
echomime_content_type('php.gif') ."n";
echomime_content_type('test.php');
输出:

image/gif
text/plain

而是php 5.3.0一度将该函数扬弃。假如仍想利用此函数,那么能够对php举办计划启用magic_mime扩展。 

2、php Fileinfo 获取文件MIME类型(finfo_open)

 PHP官方推荐mime_content_type(卡塔尔的代表函数是Fileinfo函数。PHP 5.3.0+已经私下认可支持Fileinfo函数(fileinfo support-enabledState of Qatar,不必实行别的配置就可以使用finfo_open(State of Qatar判别得到文件MIME类型。
用法:
$finfo    = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);

3、image_type_to_mime_type(卡塔尔(قطر‎获取图片MIME类型

 假如急需看清MIME类型的文件唯有图像文件,那么首先可以使用exif_imagetype(卡塔尔国函数获取图像类型常量,再用image_type_to_mime_type(State of Qatar函数将图像类型常量调换来图片文件的MIME类型。
瞩目:要求在php.ini中配备张开php_mbstring.dll(Windows需要)和extension=php_exif.dll。

4、php上传文件获取MIME类型

如果利用php上传文件,检查评定上传文件的MIME类型,则足以选拔全局变量$_FILES['uploadfile']['type'],由顾客端的浏览器检查测试获取文件MIME类型。

本文由10bet手机官网发布于微服架构,转载请注明出处:php获取文件mime类型的几种方法

上一篇:没有了 下一篇:简单的php缓存类分享,php文件操作类
猜你喜欢
热门排行
精彩图文