PHP使用finfo_file()函数检测上传图片类型的实现方法
本文实例讲述了PHP使用finfo_file()函数检测上传图片类型的实现方法。分享给大家供大家参考,具体如下:
在输入输出中,文件的交互必不可少,比如文件的上传什么的。这里我们来解决一个小问题,就是如何判断用户上传文件的文件类型。
举一个应用场面:在我们的Web应用中,比如用户上传头像,要求是png,jpg,gif格式,接收到图片后会根据图片格式类型做不同的头像切割处理,但个别用户会传一些只更改过文件后缀的非标准图片,比如nowamagic.jpg强行修改成nowamagic.png,这样程序无法对该类型图片进行切割,切割失败。这个时候就需要对文件进行检测,并且仅仅根据后缀来判断是不行的。
这种这么常见的需求,PHP肯定自带了某些函数来实现的,这个函数就是finfo_file。
finfo_file
(PHP>=5.3.0,PECLfileinfo>=0.1.0)
finfo_file--finfo::file—Returninformationaboutafile,Thisfunctionisusedtogetinformationaboutafile.
函数很简单,看看官方文档就大概清楚了,这里就举一个使用例子吧,就是上传一张图片,并判断它的类型:
文件上传
"; } $finfo=finfo_open(FILEINFO_MIME_TYPE); //$mime=finfo_file($finfo,dirname(__FILE__)."/".$filename); $mime=finfo_file($finfo,$savepath); echo$mime; } ?>
需要注意的是,finfo_file函数需要PHP版本>=5.3.0,如果低于5.3,那么需要到php.ini里,将extension=php_fileinfo.dll前面的分号去掉来启用。
当然,检测文件类型的方式很多种,后面我们会慢慢讲到。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。