报错:非法图像文件!
环境: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" ;问题解决!