问答详情
源自:2-4 PHP多文件上传案例实战

上传text文件不应该是非法文件类型吗,为什么显示不是真实的图片类型?

还有就是上传ttc字体文件时会报错,并不显示文件为非法类型!为什么??

5729dbdd0001631105000329.jpg

5729dbdd00013c3605000184.jpg


提问者:Charliezhang 2016-05-04 19:25

个回答

  • 慕粉4095481
    2017-02-11 01:18:37

    把下面两个检测位置换一下

    //检测上传文件的文件类型
            if(!in_array($ext,$allowExt)){
                $res['mes']=$fileInfo['name'].'非法文件类型';
            }
            //检测是否是真实的图片类型
            if($flag){
                if(!getimagesize($fileInfo['tmp_name'])){
                    $res['mes']=$fileInfo['name'].'不是真实图片类型';
                }
            }

  • hhhs1s1s
    2016-07-30 14:18:08

    我也发现了,这个函数有问题,因为没有name属性,既不能用字符串判定,也不能用数组判定,因为它既不是字符串又不是数组,因为所有属性都为空 ,返回的$files 为空,所有foeach会报错

  • 皒丷她宠壞
    2016-05-24 19:48:21

    因为传进uploadfile()函数里的flag是true,每次运行都会执行,检查类型后还会检查是否是真实图片,$res['mes']赋值两次,前一次被覆盖

  • 慕雪芸茗
    2016-05-10 22:14:42

    检查一下你的text文件是否改成非txt格式了?