codeigniter解决新文件上传问题&&文件上传问题

来源:互联网 发布:淘宝开店虚拟充值 编辑:程序博客网 时间:2024/05/16 16:13

今天花了不少时间弄CI文件上传,把我遇到的几个问题及解决方法和大家分享下:
路径问题:刚开始我的upload配置
    $config['upload_path'] =base_url().'upload/';//根目录的upload文件
    $config['allowed_types'] = 'txt|php|cdr|gif|jpg|png';
    $config['overwrite']=true;
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';
报错
error:The upload path does not appear to be valid.
显然 'upload_path'没有找到,网上查了下
$config['upload_path'] =base_url().'upload/';这里base_url().'upload/';是服务器路径应该要换成绝对路径:getcwd().'./upload/';测试了下问题解决.
上传文件类型的限制:
$config['allowed_types'] = 'txt|php|cdr|gif|jpg|png';
OK现在这个是可以上传 txt|php|cdr文件的
起初我是这样设置的
$config['allowed_types'] = 'gif|jpg|png|txt|php|cdr';
把要限制上传的文件放到了 图片类型的后面
测试报错
error:The filetype you are attempting to upload is not allowed.


但是以上方法没有解决问题

'allowed_types'=>'flv',就又出问题了。怎么也无法上传成功。pring_r($_FILES)一看,其实是上传成功了的。原来问题出在flv的后缀上。
看了下libraries/Upload.php,发现检测allowed_types时要对比上传文件的mime,于是在config/mimes.php中的数组中又加了一行
                'flv'    =>    'flv-application/octet-stream'
上传成功!原来上传文件的类型限制并不单单只通过后缀名来判断的。

mimes.php 支持视频文件上传修改

'swf' => 'application/x-shockwave-flash',
'flv'   => 'flv-application/octet-stream',
'mp4'   => 'video/mp4',

但是加上 'avi'   => 'video/x-msvideo',文件类型仍然不能上传,猜想可能是mime类型不正确吧,如有答案欢迎留言交流

 

 

 

 

原文地址:http://www.kuitao8.com/ask/a9393c9abd0c2d725888170c84fe3319

0 0
原创粉丝点击