在编码器点火器中通过两种输入类型存储多个图像



我想通过两种输入类型存储多个图像,但是一个输入类型的帖子有存储,另一个输入帖子值没有存储。

我的观点

<span class="btn btn-round" title="Upload Photo">                                                                    
<input type="file" name="photo[]" multiple="">                                                                  
</span>
<span class="btn btn-round" title="Upload Photo">                                                                    
<input type="file" name="doc[]" multiple="">                                                                  
</span>

我的控制器

if (!empty($_FILES['photo']['name'])) {
$filesCount = count($_FILES['photo']['name']);          
for ($i = 0; $i < $filesCount; $i++) {
$_FILES['userFile']['name'] = $_FILES['photo']['name'][$i];
$_FILES['userFile']['type'] = $_FILES['photo']['type'][$i];
$_FILES['userFile']['tmp_name'] = $_FILES['photo']
['tmp_name'][$i];
$_FILES['userFile']['error'] = $_FILES['photo']['error']
[$i];
$_FILES['userFile']['size'] = $_FILES['photo']['size'][$i];
$uploadPath = 'assets/uploads/';
$type = 'photo';
$config['upload_path'] = $uploadPath;
$config['allowed_types'] = 'gif|png|jpg|jpeg';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ($this->upload->do_upload('userFile')) {
$getdata = $this->upload->data();
$uploadData[$i] = $getdata['file_name'];
}
}
}
if(!empty($_FILES['doc']['name'])){
$filesCounts = count($_FILES['doc']['name']);echo $filesCounts;
for ($j = 0; $j < $filesCounts; $j++) {
$_FILES['userFile']['name'] = $_FILES['doc']['name'][$j];
$_FILES['userFile']['type'] = $_FILES['doc']['type'][$j];
$_FILES['userFile']['tmp_name'] = $_FILES['doc']['tmp_name']
[$j];
$_FILES['userFile']['error'] = $_FILES['doc']['error'][$j];
$_FILES['userFile']['size'] = $_FILES['doc']['size'][$j];
$uploadPaths = 'assets/uploads/';
$type1 = 'document';
$config['upload_path'] = $uploadPath;
$config['allowed_types'] =                       
'gif|png|jpg|jpeg|pdf|xls|docx|xlsx';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ($this->upload->do_upload('userFile')) {
$getdata = $this->upload->data();
$uploadDocument[$j] = $getdata['file_name'];
}
}
}
for ($r = 0; $r < count($uploadData); $r++) {
$data3 = array('event_id' => $last_id, 'file_name' => 
$uploadData[$r], 'file_path' => $uploadPath, 'content_type' => 
$type);
if ($data3['file_name'] != "") {
$this->admin_model->insert_activity_photo($data3);
}
}
for ($a = 0; $a < count($uploadDocument); $a++) {
$data5 = array('event_id' => $last_id, 'file_name' => 
$uploadDocument[$a], 'file_path' => $uploadPaths, 'content_type' => 
$type1);
if ($data5['file_name'] != "") {
$this->admin_model->insert_activity_photo($data5);
}
}

我的模型

function insert_activity_photo($data3 = array()){
$this->db->insert('t_attachment',$data3);
}
function insert_activity_photos($data5 = array()){
$this->db->insert('t_attachment',$data5);
}

当我尝试存储来自这两种输入类型的多个图像时,只有第一个输入类型值已发布第二个输入类型值未发布。

嗨,两个图像的起始位置都是 0($I=0 和 $j=0(,所以文件被替换,你应该改变键 请检查我的代码 $uploadDocument[$k]

if (!empty($_FILES['photo']['name'])) {
$filesCount = count($_FILES['photo']['name']); 
$k=0;         
for ($i = 0; $i < $filesCount; $i++) {
$_FILES['userFile']['name'] = $_FILES['photo']['name'][$i];
$_FILES['userFile']['type'] = $_FILES['photo']['type'][$i];
$_FILES['userFile']['tmp_name'] = $_FILES['photo']
['tmp_name'][$i];
$_FILES['userFile']['error'] = $_FILES['photo']['error']
[$i];
$_FILES['userFile']['size'] = $_FILES['photo']['size'][$i];
$uploadPath = 'assets/uploads/';
$type = 'photo';
$config['upload_path'] = $uploadPath;
$config['allowed_types'] = 'gif|png|jpg|jpeg';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ($this->upload->do_upload('userFile')) {
$getdata = $this->upload->data();
$uploadData[$k] = $getdata['file_name'];
}
$k++;
}
}
if(!empty($_FILES['doc']['name'])){
$filesCounts = count($_FILES['doc']['name']);echo $filesCounts;
for ($j = 0; $j < $filesCounts; $j++) {
$_FILES['userFile']['name'] = $_FILES['doc']['name'][$j];
$_FILES['userFile']['type'] = $_FILES['doc']['type'][$j];
$_FILES['userFile']['tmp_name'] = $_FILES['doc']['tmp_name']
[$j];
$_FILES['userFile']['error'] = $_FILES['doc']['error'][$j];
$_FILES['userFile']['size'] = $_FILES['doc']['size'][$j];
$uploadPaths = 'assets/uploads/';
$type1 = 'document';
$config['upload_path'] = $uploadPath;
$config['allowed_types'] =                       
'gif|png|jpg|jpeg|pdf|xls|docx|xlsx';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ($this->upload->do_upload('userFile')) {
$getdata = $this->upload->data();
$uploadDocument[$k] = $getdata['file_name'];
}
$k++;
}
}
for ($r = 0; $r < count($uploadData); $r++) {
$data3 = array('event_id' => $last_id, 'file_name' => 
$uploadData[$r], 'file_path' => $uploadPath, 'content_type' => 
$type);
if ($data3['file_name'] != "") {
$this->admin_model->insert_activity_photo($data3);
}
}
for ($a = 0; $a < count($uploadDocument); $a++) {
$data5 = array('event_id' => $last_id, 'file_name' => 
$uploadDocument[$a], 'file_path' => $uploadPaths, 'content_type' => $type1);
if ($data5['file_name'] != "") {
$this->admin_model->insert_activity_photo($data5);
}
}

相关内容

最新更新