我正在尝试进行多个文件上传,其中一个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()
函数的顶部,则顶部的第一个函数正在工作,第二个函数没有
答案 0 :(得分:1)
感谢大家的回复
我已经解决了它
我只是使用
再次初始化上传$this->upload->initialize();
答案 1 :(得分:0)
它无法正常工作的原因是因为上传的文件在移动之前是临时的。执行move_uploaded_file后,将无法再访问临时文件。如果在第二个函数中调用is_uploaded_file,则返回false。
查看将您写入第一个目录的文件复制到第二个文件夹。
修改强>
看起来你改变了帖子。那种情况与以前不同。
这一次,看起来有两个单独的文件正在上传。
看起来它应该可行,但我正在研究它。我想知道它是否与重新初始化上传助手类有关。