Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多个上载CodeIgniter上更新所选文件_Codeigniter_Updates_Multi Upload - Fatal编程技术网

在多个上载CodeIgniter上更新所选文件

在多个上载CodeIgniter上更新所选文件,codeigniter,updates,multi-upload,Codeigniter,Updates,Multi Upload,我已经为三个上传文件编写了codeigniter。当我更新一个或两个时,第三个将覆盖我以前上传的数据,数据库中为空。如何使它只更新我需要的文件。我试过了!空的$\u文件,但我的头开始冒烟:( 请在更新之前检查已发布的文件 稍微修改一下你的代码 public function prosesUpdate2(){ $data = $this->input->post('id'); $this->load->library('upload'); $dataInfo

我已经为三个上传文件编写了codeigniter。当我更新一个或两个时,第三个将覆盖我以前上传的数据,数据库中为空。如何使它只更新我需要的文件。我试过了!空的$\u文件,但我的头开始冒烟:(


请在更新之前检查已发布的文件

稍微修改一下你的代码

public function prosesUpdate2(){
  $data = $this->input->post('id');
  $this->load->library('upload');

  $dataInfo = array();
  $files = $_FILES;
  $files_to_update = array();
  $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];    

    $this->upload->initialize($this->set_upload_options());
    $this->upload->do_upload();
    $dataInfo[] = $this->upload->data();
  }
  $files_to_update= array(
     'userdatecreate'    => date('Y-m-d H:i:s')
  );
  if($dataInfo[0]['file_name']){
     $files_to_update['front'] = $dataInfo[0]['file_name'];
  }
  if($dataInfo[1]['file_name']){
     $files_to_update['back'] = $dataInfo[1]['file_name'];
  }
  if($dataInfo[2]['file_name']){
     $files_to_update['side'] = $dataInfo[2]['file_name'];
  }
  $result_set = $this->update_building->db_update($files_to_update, $data);
  $this->session->set_flashdata('file_success', 'Upload File Success!');
}
公共函数prosesUpdate2(){
$data=$this->input->post('id');
$this->load->library('upload');
$dataInfo=array();
$files=$\u文件;
$files_to_update=array();
$cpt=计数($_文件['userfile']['name']);
对于($i=0;$iupload->initialize($this->set_upload_options());
$this->upload->do_upload();
$dataInfo[]=$this->upload->data();
}
$files\u to\u update=数组(
'userdatecreate'=>date('Y-m-dh:i:s')
);
如果($dataInfo[0]['file\u name'])){
$files_to_update['front']=$dataInfo[0]['file_name'];
}
如果($dataInfo[1]['file\u name'])){
$files_to_update['back']=$dataInfo[1]['file_name'];
}
如果($dataInfo[2]['file\u name'])){
$files_to_update['side']=$dataInfo[2]['file_name'];
}
$result\u set=$this->update\u building->db\u update($files\u to\u update,$data);
$this->session->set_flashdata('file_success','Upload file success!');
}

请在更新之前检查已发布的文件

稍微修改一下你的代码

public function prosesUpdate2(){
  $data = $this->input->post('id');
  $this->load->library('upload');

  $dataInfo = array();
  $files = $_FILES;
  $files_to_update = array();
  $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];    

    $this->upload->initialize($this->set_upload_options());
    $this->upload->do_upload();
    $dataInfo[] = $this->upload->data();
  }
  $files_to_update= array(
     'userdatecreate'    => date('Y-m-d H:i:s')
  );
  if($dataInfo[0]['file_name']){
     $files_to_update['front'] = $dataInfo[0]['file_name'];
  }
  if($dataInfo[1]['file_name']){
     $files_to_update['back'] = $dataInfo[1]['file_name'];
  }
  if($dataInfo[2]['file_name']){
     $files_to_update['side'] = $dataInfo[2]['file_name'];
  }
  $result_set = $this->update_building->db_update($files_to_update, $data);
  $this->session->set_flashdata('file_success', 'Upload File Success!');
}
公共函数prosesUpdate2(){
$data=$this->input->post('id');
$this->load->library('upload');
$dataInfo=array();
$files=$\u文件;
$files_to_update=array();
$cpt=计数($_文件['userfile']['name']);
对于($i=0;$iupload->initialize($this->set_upload_options());
$this->upload->do_upload();
$dataInfo[]=$this->upload->data();
}
$files\u to\u update=数组(
'userdatecreate'=>date('Y-m-dh:i:s')
);
如果($dataInfo[0]['file\u name'])){
$files_to_update['front']=$dataInfo[0]['file_name'];
}
如果($dataInfo[1]['file\u name'])){
$files_to_update['back']=$dataInfo[1]['file_name'];
}
如果($dataInfo[2]['file\u name'])){
$files_to_update['side']=$dataInfo[2]['file_name'];
}
$result\u set=$this->update\u building->db\u update($files\u to\u update,$data);
$this->session->set_flashdata('file_success','Upload file success!');
}
您忘了在do_upload函数中放置字段名

希望这有帮助

您忘了在do_upload函数中放置字段名

希望这有帮助


只需将if conside放入循环中,如下所示:--if(!empty($files['userfile']['name'][$i]){只需将if conside放入循环中,如下所示:--if(!empty($files['userfile']['name'][$i]){谢谢它的帮助,如果我需要更多的输入ie描述,我是否应该添加更多的数组,如:description'=>this->input->post('description'))或者需要更多的功能来完成它?你可以通过,
$files\u to\u update=array('userdatecreate'=>date('Y-m-d H:i:s'),description'=>$this->input->post('description');
所以我添加了
description'=>$this->input->post('description')
,并使用
if($result\u set>0)添加闪存数据{$this->session->set_flashdata('msg',show_such_msg('Data has updated'));}否则{$this->session->set_flashdata('msg',show_err_msg('Data not updated/changed');}
即使我没有更新数据,它的返回消息也能成功上传,谢谢你的时间,Dhanyavaadman感谢它的帮助,所以如果我需要更多的输入ie描述,我应该添加更多的数组,比如:description'=>$this->input->post('description'),还是需要更多的函数来完成?你可以通过,
$files\u to\u update=array来完成('userdatecreate'=>date('Y-m-dh:i:s'),description'=>this->input->post('description');
所以我添加了
description'=>this->input->post('description')
,并使用
if($result\u set>0){$this->session set\u flashdata('msg',show\succu msg('data haved'))添加flash数据)}其他{$this->session->set_flashdata('msg',show_err_msg('Data not update/changed'));}
即使我没有更新数据,它的返回消息也会成功上传,谢谢你的时间,dhanyavaad
public function db_update($data,$id)
{
$this->db->where('id', $id);       
$this->db->update('allbuidingdata', $data);
}
public function prosesUpdate2(){
  $data = $this->input->post('id');
  $this->load->library('upload');

  $dataInfo = array();
  $files = $_FILES;
  $files_to_update = array();
  $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];    

    $this->upload->initialize($this->set_upload_options());
    $this->upload->do_upload();
    $dataInfo[] = $this->upload->data();
  }
  $files_to_update= array(
     'userdatecreate'    => date('Y-m-d H:i:s')
  );
  if($dataInfo[0]['file_name']){
     $files_to_update['front'] = $dataInfo[0]['file_name'];
  }
  if($dataInfo[1]['file_name']){
     $files_to_update['back'] = $dataInfo[1]['file_name'];
  }
  if($dataInfo[2]['file_name']){
     $files_to_update['side'] = $dataInfo[2]['file_name'];
  }
  $result_set = $this->update_building->db_update($files_to_update, $data);
  $this->session->set_flashdata('file_success', 'Upload File Success!');
}
$this->upload->do_upload('userfile');