用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2482|回复: 1
收起左侧

[HELP] 上传图片

[复制链接]
发表于 2010-9-7 19:53:30 | 显示全部楼层 |阅读模式
修改图片功能。
1.htm 页面
<p style="margin-bottom:5px;">
信息图片:<img src="<?php echo $baseurl;?>public/data/goods_images/<?php echo $goods['shortpic'];?>"  width="200px;" height="100px;"/></p>
<input type="hidden" name="shortpic2" id="shortpic2" value="<?php echo $goods['shortpic'];?>"  size="50"/>
<input type="hidden" name="pic2" id="pic2" value="<?php echo $goods['pic'];?>"  size="50"/>
<p style="margin-bottom:5px;">
信息图片:<input type="file" name="pic" size="40" />&nbsp;&nbsp;<span style="color:#FF0000">(仅限JPG和PNG格式,大小不超过1024x768像素,体积不超过300K.)</span></p>

ACtion 页面
function do_edit() {
         $config['upload_path'] = './public/data/goods_images/full/';
        $config['allowed_types'] = 'jpg|png';
        $config['max_size'] = '300';
        $config['max_width']  = '1024';
        $config['max_height']  = '768';
        $config['encrypt_name']='TRUE';
        $this->load->library('upload', $config);
if(array_key_exists ( 'pic' , $_POST) && isset($_POST['pic']) && !empty($_POST['pic'])){       //判断上传图片是否为空
       if (!$this->upload->do_upload('pic')) {
           $this->admin_model->info(4,'抱歉,图片上传失败。可能您选择的图片大小超出了限制。请返回重新上传。','back');
                 echo $this->upload->display_errors();
        }else {
            $data = array('upload_data' => $this->upload->data());  //上传文件信息
            $imgname=$data['upload_data']['file_name'];            //上传后的文件名(包括扩展名);
            $this->load->library('image_lib');
            $config['image_library'] = 'GD2';
            $config['source_image'] = "public/data/goods_images/full/{$imgname}";
            $config['new_image'] = "public/data/goods_images/thumb/{$imgname}";
            $config['width'] = 100;
            $config['height'] = 100;
            $config['quality']='90%';
            $this->image_lib->initialize($config);
            $this->image_lib->resize(); //生成缩略图
            $goods_data['pic']='full/'.$imgname; //新闻完整图片路径
            $goods_data['shortpic']='thumb/'.$imgname;//新闻缩略图路径
                  } }else {
           $goods_data['pic']=$_POST['pic2']; //新闻完整图片路径
            $goods_data['shortpic']=$_POST['shortpic2'];//新闻缩略图路径
   }
            $goods_data['name']=$_POST['name'];//名称
            $goods_data['pen_name']=$_POST['pen_name'];//别名称
            $goods_data['type_id']=$_POST['type_id'];//频道类型
            $goods_data['outtime']=$_POST['outtime'];//发表时间
            $goods_data['out_name']=$_POST['out_name'];//作者
            $goods_data['level']=$_POST['level'];//排序
            $goods_data['root_in']=$_POST['root_in'];//来源
            $goods_data['tag']=$_POST['tag'];//tag
            $goods_data['short_desc']=$_POST['short_desc'];//概要简介
            $goods_data['contents']=$_POST['content'];//详细简介
            $goods_data['out_new']=$_POST['out_new'];//外连接
            $goods_data['created_at']=date('Ymd His');//添加时间
            $goods_data['update_at']=date('Ymd His');//修改时间
                        if($this->admin_model->update_goods($goods_data,$id)==1) {
            $this->admin_model->info(2,'您已经成功地修改了商品资料。',site_url().'admin/goods/');
           } else {
            $this->admin_model->info(4,'抱歉,无法修改商品资料。','back');
         }
     
    }


出现错误!You did not select a file to upload.
有人知道错在什么地方呢。知道告诉我一声!
谢谢啊!
发表于 2010-9-7 22:32:15 | 显示全部楼层
上传文件的表单要设置multipart属性,
楼主可以用form_open_multipart()写表单(先加载form_helper)

本版积分规则