606   CodeIgniter PHP

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

Your email address will not be published. Required fields are marked *