首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上传多张图片,生成大图

上传多张图片,生成大图
EN

Stack Overflow用户
提问于 2014-03-02 20:41:17
回答 1查看 203关注 0票数 0

我已经生成了一个代码,可以在codeigniter中上传多张图片,但是我不能使用codeigniter图像库生成大尺寸的上传图片到其他目录。

使用下面的代码,即使用户上传了多张图片,也只会生成一张图片。

代码语言:javascript
运行
复制
  function insert_prod(){   

    $foldername = $_POST['folder'];
    $path = './uploads/products/'.$foldername;

    mkdir($path, 0777, true);
    mkdir($path.'/zoomimages', 0777, true);

    $config = array();
    $config['upload_path'] = $path;
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']      = '0';
    $config['overwrite']     = FALSE;

    $this->load->library('upload');

    $files = $_FILES;
    $cpt = count($_FILES['userfile']['name']);
    for($i=0; $i<$cpt; $i++){

        $_FILES['userfile']['name']= $files['userfile']['name'][$i];
        $_FILES['userfile']['type']= $files['userfile']['type'][$i];
        $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
        $_FILES['userfile']['error']= $files['userfile']['error'][$i];
        $_FILES['userfile']['size']= $files['userfile']['size'][$i];    

        $config['file_name'] = 'img_'.$i;

        $this->upload->initialize($config);
        $this->upload->do_upload();

        $upload_data = array('upload_data' => $this->upload->data());
        $full_path = $upload_data['upload_data']['full_path'];
        $u_data = $upload_data['upload_data'];
        // var_dump( $this->upload->data());
        // var_dump($upload_data); 
        echo $cpt;
        $config1['image_library'] = 'gd2';
        $config1['source_image']    = $full_path;
        $config1['new_image'] =$path.'/zoomimages';
        $config1['create_thumb'] = FALSE;
        $config1['maintain_ratio'] = TRUE;
        $config1['width']    = 300;
        $config1['height']  = 300;

        $this->load->library('image_lib', $config1); 
        $this->image_lib->resize();
        $this->image_lib->clear();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-03-02 22:19:50

您正在使用循环中的$this->load->library('image_lib', $config1);加载库,因此codeigniter会看到类已经加载,因此不会设置您的$config1 again

$this->load->library('image_lib');移出您的循环

然后添加$this->load->library('image_lib', $config1);$this->image_lib->initialize($config1);实例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22127659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档