Thinkphp iis 上传图片报错(非法图像文件)问题解决办法!

报错:非法图像文件!

环境:iis7.5/fastcgi  php5.5.24  php.ini中 upload_tmp_dir  目录权限  都设置ok

首先我们看源码:

/* 对图像文件进行严格检测 */
            $ext = strtolower($file['ext']);
            if(in_array($ext, array('gif','jpg','jpeg','bmp','png','swf'))) {
                $imginfo = getimagesize($file['tmp_name']);
                if(empty($imginfo) /*|| ($ext == 'gif' && empty($imginfo['bits']))*/){
                    $this->error = '非法图像文件!';
                    continue;
                }
            }

问题就出在  getimagesize()无法获取到图片信息;导致报错!

测试了很多办法,最后发现 使用getimagesize 时需要将临时目录路径加到php.ini  open_basedir ="D:/****;D:/****/tmp" ;问题解决!


你可能感兴趣的:(PHP随笔)