PHP官方推荐mime_content_type()的替代函数是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() in…。因为之前的php版本,需要加载magic_open类,fileinfo函数属于PECL扩展,启用fileinfo PECL扩展才能检测MIME类型。所以有两种途径使用fileinfo获取文件的MIME类型。
将php版本升级到5.3.0以上。php官方也已经不再维护和更新这个fileinfo pecl扩展包,所以升级是最好的办法。 安装fileinfo pecl扩展,Centos linux 如何安装fileinfo:在Centos下面安装fileinfo命令(rpm):yum install php-pecl-Fileinfo。还可以使用网上流传较多的一种方法,Linux通过phpize使用pecl指令来安装fileinfo: 若没有phpize指令,需要先安装。#phpize检测若提示”No command ‘phpize’ found”,则需先安装phpize; 下载安装php-devel(php5-dev)的rpm,安装phpize; service httpd restart 或 reboot; 命令 pecl install fileinfo 安装fileinfo扩展。 安装完毕,/usr/lib/php/module目录下多了fileinfo.so文件,/usr/share/file目录下多了magic.mime和magic两个文档 修改php.ini配置:加入 extension=”fileinfo.so” service httpd restart Windows服务器下安装fileinfo相似,php.ini:extension=php_fileinfo.dll |
|