首页 > PHP教程 > php开发知识文章

PHP 上传图片检测文件类型的方法--finfo_file函数

本文主要介绍了PHP 上传图片检测文件类型的方法--finfo_file函数的实现方法,欢迎大家的学习。

在Web应用开发过程中,文件的交互很常见,比如用户上传头像,图片类型是png,jpg,gif格式,

后台接收到图片后会保存图片,或作其它的处理。但有的用户会传一些修改过文件后缀的非标准图片,任意修改图片内容,

这样程序不能正常处理。如果用户上传了php等执行文件,会有很大的问题,这个时候就需要对文件进行检测,仅仅根据后缀来判断是不行的。

 

finfo_file函数

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file ― 返回一个文件的信息

string finfo_file ( resource $finfo , string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )
public string finfo::file ( string $file_name = NULL [, int $options = FILEINFO_NONE [, resource $context = NULL ]] )

参数

finfo--finfo_open() 函数所返回的 fileinfo 资源。

file_name--要检查的文件名。

options--一个 Fileinfo 常量 或多个 Fileinfo 常量 进行逻辑或运算。

context--关于 contexts 的更多描述,请参考 Stream 函数。

返回值

返回 file_name 参数指定的文件信息。 发生错误时返回 FALSE 。

finfo_file 函数需要 PHP 版本 >= 5.3.0,如果低于 5.3,那么需要到 php.ini 里,将 extension=php_fileinfo.dll 前面的分号去掉来启用

//上传文件信息
$pic = $_FILES['pic'];
if ($pic) {
//文件存放目录
$dir = dirname(__file__);
$filename = $pic['name'][0];
$tempname = $pic['tmp_name'][0];
$savepath = "$dir/$filename";
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $savepath);
echo $mime;

} 

更多关于PHP相关专题:《php文件操作总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

以上就是本文PHP 上传图片检测文件类型的方法--finfo_file函数的全部内容,希望本文所述对大家PHP程序设计有所帮助。

PHP 上传图片检测文件类型的方法--finfo_file函数

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。