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程序设计有所帮助。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型