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