CodeIgniter 中的多个文件上传
许多 Web 应用程序需要能够一次上传多个文件。 CodeIgniter 通过其内置的文件上传库使这项任务变得简单。但是,使用单个表单元素处理多个文件时可能会出现问题。
问题:
在提供的示例中,出现错误消息“您没有选择尝试上传多个文件时遇到“要上传的文件”。出现这种情况是因为 upload_files() 方法中未正确处理文件输入字段的名称 images[]。
解决方案:
要解决此问题,我们可以修改upload_files() 方法接受 images[] 名称并相应地处理各个文件:
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; }
通过更新方法,images[] 数组中的每个文件都被正确处理,解决了错误消息并允许多个文件上传按预期运行。
以上是如何解决在CodeIgniter中上传多个文件时出现'您没有选择要上传的文件”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!