Thinkphp上传文件报错Call to undefined finfo_open

发布时间:2024-01-12浏览次数:397 次
ThinkPHP中,上传文件验证规则中,添加了对fileMime的验证,但是报:Call to undefined function think\\finfo_

ThinkPHP中,上传文件验证规则中,添加了对fileMime的验证,但是报:Call to undefined function think\\finfo_open() 错误,经检查是因为php环境中没有安装 fileInfo模块。需要安装下。

事实上,在php接收到的上传数据对象中是存在mimeType信息的,但是为什么ThinkPHP官方还要使用fileInfo扩展来实现此功能呢?

因为UploadFile获取到的mime类型,存在被篡改的可能,这里我们将一个doc文件的后缀修改为jpg,打印上传数据对象会发现,其mimeType信息为:image/jpeg,但是如果添加了fileMime验证,则会被验证器拦截到。

扫一扫,在手机上查看