代码点火器多次上传到2个不同的文件夹


CodeIgniter Multiple Upload to 2 different folder

我正在尝试进行多文件上传,其中一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()函数的顶部,则顶部的第一个函数正在工作,第二个函数没有

感谢大家的回复

我已经解决了

我只是使用

$this->upload->initialize();

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

考虑将写入第一个目录的文件复制到第二个文件夹。

编辑

看起来你改变了你的帖子。这种情况与前一个方案不同。

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

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