CodeIgniter Multiple上传到2个不同的文件夹

时间:2012-06-09 01:16:29

标签: php codeigniter file-upload

我正在尝试进行多个文件上传,其中一个input['file']用于图片,另一个用于视频

这是控制器

public function upload(){
  $data['errorPic'] = $this->validateUpload();  
  $data['errorVid'] = $this->validateUpload2();
}

public function validateUpload(){
    if ( $_FILES AND isset($_FILES['coverImage']['name']) ){
        $config['upload_path'] = 'blogpics/';
        $config['allowed_types'] = 'png|gif|jpg|jpeg';
        $config['max_size'] = '999999';

        $this->load->library("upload",$config);

        if(!$this->upload->do_upload("coverImage")){
            return $this->upload->display_errors();
        }
    }   
}

public function validateUpload2(){
    if ( $_FILES AND isset($_FILES['video']['name'])){
        $config['upload_path'] = 'blogvids/';
        $config['allowed_types'] = 'png|gif|jpg|jpeg';
        $config['max_size'] = '999999';

        $this->load->library("upload",$config);

        if(!$this->upload->do_upload("video")){
            return $this->upload->display_errors();
        }
    }
}

只有第一个被调用的函数正在工作

例如: 如果我先将validateUpload2()函数放在validateUpload()函数的顶部,则顶部的第一个函数正在工作,第二个函数没有

2 个答案:

答案 0 :(得分:1)

感谢大家的回复

我已经解决了它

我只是使用

再次初始化上传
$this->upload->initialize();

答案 1 :(得分:0)

它无法正常工作的原因是因为上传的文件在移动之前是临时的。执行move_uploaded_file后,将无法再访问临时文件。如果在第二个函数中调用is_uploaded_file,则返回false。

查看将您写入第一个目录的文件复制到第二个文件夹。

修改

看起来你改变了帖子。那种情况与以前不同。

这一次,看起来有两个单独的文件正在上传。

看起来它应该可行,但我正在研究它。我想知道它是否与重新初始化上传助手类有关。