2012-07-09 67 views
1

我想使用Codegniter的Upload Library上传图片,图片应该上传到由模型创建并返回的目录中,每次更改上传目录,这是我应该使用的代码更改配置上传阵列:在Codeigniter中的控制器中动态设置配置值?

if ($_FILES['image']['size']!=0) { 
       $path = $this->homeModel->createDirectories($id); 
       $this->config->load('upload'); 
       $this->config->set_item('upload', array('upload_path' => $path)); 
       // I've also used 
       // $this->config->set_item('upload_path', $path); 

    if (!$this->upload->do_upload('image')) 
       echo $this->upload->display_errors(); 
       else { 
        $image = $this->upload->data(); 
        $data['image'] = $image['file_name']; 
       }   
      }  

但它似乎并没有工作。 upload_path不会更改,图像仍然上传到我在config/upload.php文件中指定的路径中。

回答

3

试试这个:

if ($_FILES['image']['size']!=0) { 

    $path = $this->homeModel->createDirectories($id); 
    $this->config->load('upload', TRUE); 
    $config = $this->config->item('upload'); 
    $config['upload_path'] = $path; 
    $this->upload->initialize($config); 

    //etc. 
} 
+0

谢谢你,它的工作:) – Sarah 2012-07-09 10:51:29