欢迎各位兄弟 发布技术文章
这里的技术是共享的
有关fileinfo的介绍请参考php官网,这里简要分享一下我自己的安装及测试过程。
http://www.php.NET/manual/en/book.fileinfo.php
fileinfo()是pecl的其中的function之一
需安裝pecl才能用, 要安裝pecl, 必须有phpize指令
我们来执行
pecl install fileinfo
系统提示:
WARNING: "pear/Fileinfo" is deprecated in favor of "channel://php-src/ext/fileinfo/in php sources"
downloading Fileinfo-1.0.4.tgz ...
Starting to download Fileinfo-1.0.4.tgz (5,835 bytes)
.....done: 5,835 bytes
3 source files, building
running: phpize
sh: phpize: not found
ERROR: `phpize' failed
下面安装phpize
首先需要有php5-dev
直接执行phpize,系统会提示:
No command 'phpize' found, did you mean:
Command 'phpize5' from package 'php5-dev' (main)
phpize: command not found
那么我们来安装php5-dev
sudo apt-get install php5-dev
安装完成后,再执行:
sudo pecl install fileinfo
会发现如下的错误提示:
checking for magic files in default path... not found
configure: error: Please reinstall the libmagic distribution
ERROR: `/build/buildd/php5-5.3.2/pear-build-download/Fileinfo-1.0.4/configure' failed
那么再安装一下libmagic:
sudo apt-get install libmagic-dev
安装完成后,再执行:
sudo pecl install fileinfo
ok,看到了这样的提示:
Installing '/usr/lib/php5/20090626/fileinfo.so'
install ok: channel://pear.php.Net/Fileinfo-1.0.4
说明Fileinfo 安装完成,
我们会发现
php模块的目录下多了个fileinfo.so文件,同时,
在/usr/share/file目录下有magic.mime和magic两个文件。
然后需要修改php.ini文件,加入
extension=fileinfo.so
重启nginx和fastcgi
在自己的web页面上加入下面这段测试代码:
<?php
// return mime type ala mimetype extension
$finfo = finfo_open(FILEINFO_MIME_TYPE);
if (!$finfo) {
echo "Opening fileinfo database failed";
exit();
}
/* get mime-type for a specific file */
$filename = "/ciray/images/copyright.gif"; //这里写你的WEB目录中要测试的文件路径
echo $filename . ' --> ' . finfo_file($finfo, $filename) . '<br>';
?>
运行一下,如果显示
/ciray/images/copyright.gif --> image/gif
说明大功告成!
来自 http://blog.csdn.net/ciray/article/details/5727734