在Codeigniter中,可以使用不同的按钮在单个表单中上传多个图像和文本文件。以下是一种实现方法:
$this->upload->do_upload()
方法来上传文件,并使用$this->upload->data()
方法获取上传文件的信息。<input type="file">
标签来创建文件上传字段,使用<input type="text">
标签来创建文本输入字段。$this->input->post()
方法来获取表单中的文本输入值。以下是一个示例代码:
在视图文件中的表单代码(upload_form.php):
<form method="post" action="upload/process" enctype="multipart/form-data">
<input type="file" name="image1">
<input type="file" name="image2">
<input type="text" name="text1">
<input type="text" name="text2">
<button type="submit" name="upload">上传</button>
<button type="submit" name="save">保存</button>
</form>
在控制器中的处理方法代码(Upload.php):
class Upload extends CI_Controller {
public function process() {
if ($this->input->post('upload')) {
// 处理上传按钮点击事件
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$this->load->library('upload', $config);
if ($this->upload->do_upload('image1')) {
$data = $this->upload->data();
// 处理上传的图像1
}
if ($this->upload->do_upload('image2')) {
$data = $this->upload->data();
// 处理上传的图像2
}
} elseif ($this->input->post('save')) {
// 处理保存按钮点击事件
$text1 = $this->input->post('text1');
$text2 = $this->input->post('text2');
// 处理文本输入值
}
}
}
在上述示例中,当点击"上传"按钮时,会处理文件上传操作,并根据每个文件上传字段的name属性来区分不同的文件。当点击"保存"按钮时,会处理文本输入值。
请注意,上述示例中的文件上传路径为"./uploads/",你可以根据自己的需求修改该路径。
希望以上内容能够帮助到你!如果有任何问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云