首页建站经验 使用finfo_file()函数检测上传图片的类型

使用finfo_file()函数检测上传图片的类型

1. 使用finfo_file()函数检测上传图片的类型在输入输出中,文件的交互必不可少,比如文件的上传什么的。这里我们来解决一个小问题,就是如何判断用户上传文件的文件类型。举一个…

1. 使用finfo_file()函数检测上传图片的类型

在输入输出中,文件的交互必不可少,比如文件的上传什么的。这里我们来解决一个小问题,就是如何判断用户上传文件的文件类型。

举一个应用场面:在我们的Web应用中,比如用户上传头像,要求是png,jpg,gif格式,接收到图片后会根据图片格式类型做不同的头像切割处理,但个别用户会传一些只更改过文件后缀的非标准图片,比如nowamagic.jpg 强行修改成 nowamagic.png,这样程序无法对该类型图片进行切割,切割失败。这个时候就需要对文件进行检测,并且仅仅根据后缀来判断是不行的。

这种这么常见的需求,PHP肯定自带了某些函数来实现的,这个函数就是 finfo_file。

finfo_file

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

finfo_file -- finfo::file — Return information about a file,This function is used to get information about a file.

函数很简单,看看官方文档就大概清楚了,这里就举一个使用例子吧,就是上传一张图片,并判断它的类型:

文件上传



<?php

//上传文件信息

$img = $_FILES['img'];

if ($img)

{

//文件存放目录,和本php文件同级

$dir = dirname(__file__);

http://www.cuoxin.com/wen/2019/11-02/$filename = $img['name'][0];

$tempname = $img['tmp_name'][0];

$savepath = "$dir//http://www.cuoxin.com/wen/2019/11-02/$filename";

$state = move_uploaded_file($tempname, $savepath);

//如果上传成功,预览

if($state)

{

echo "http://www.cuoxin.com/wen/2019/11-02/$filename ";

}

$finfo = finfo_open(FILEINFO_MIME_TYPE);

//$mime = finfo_file($finfo, dirname(__FILE__)."/".http://www.cuoxin.com/wen/2019/11-02/$filename);

$mime = finfo_file($finfo, $savepath);

echo $mime;

}

?>

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

 

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/17092.html
上一篇PHP中生产不重复随机数的方法
下一篇 php eval函数一句话木马代码
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部