问题:
使用单个表单元素上传多个文件会导致错误“您没有选择文件
解决方案:
问题出在CodeIgniter上传库的初始化上。在输入字段上使用 multiple 属性时,需要调整库初始化以处理多个文件。
修改上传方法:
private function upload_files($path, $title, $files) { $config = array( 'upload_path' => $path, 'allowed_types' => 'jpg|gif|png', 'overwrite' => 1, ); $this->load->library('upload', $config); $images = array(); foreach ($files['name'] as $key => $image) { $_FILES['images[]']['name'] = $files['name'][$key]; $_FILES['images[]']['type'] = $files['type'][$key]; $_FILES['images[]']['tmp_name'] = $files['tmp_name'][$key]; $_FILES['images[]']['error'] = $files['error'][$key]; $_FILES['images[]']['size'] = $files['size'][$key]; $fileName = $title . '_' . $image; $images[] = $fileName; $config['file_name'] = $fileName; $this->upload->initialize($config); if ($this->upload->do_upload('images[]')) { $this->upload->data(); } else { return false; } } return $images; }
说明:
通过进行这些修改,您将能够使用 multiple 属性成功上传多个文件您的表格。
以上是如何解决在CodeIgniter中上传多个文件时出现'您没有选择要上传的文件”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!