CI提供了upload的library,图片上传也非常简单了,文档也说得比较清楚,这里不再赘述,说下遇到的一些问题
1,上传类型filetype 报错:
前端上传png类型的图片,传到后端的时候,读取到的file-type却是image/jpeg,奇怪了,不是应该image/png吗?可能这张图片从jpg直接重命名为png了
CI的upload类,会根据$config[‘allowed_types’] = ‘gif|jpg|png’,去application/config/mimes.php的数组中找到对应的file-type类型,如果找到则允许上传,找到就报文件类型file-type的错。
在application/config/mimes.php的数组中找到png
...... 'png' => array('image/png', 'image/x-png'), .....
好吧,知道问题所在了。
当upload根据file_ext即png去找file_type时,发现只有’image/png’和’image/x-png’,没有image/jpeg,于是报文件类型file-type的错。
原因找到,解决方法比较简单了,修改png的数组内容即可
.... //'png' => array('image/png', 'image/x-png'), // 增加多'image/jpeg'的file-type类型 'png' => array('image/png', 'image/x-png','image/jpeg'), ......
2,图片保存目录创建和权限问题,直接贴代码啦
if(!is_dir($upload_path)) { mkdir($upload_path, 0777,TRUE); chmod($upload_path, 0777); }
Leave a Reply