php - 在 Codeigniter 中多次上传的表单中未选择文件
问题描述
所以我尝试制作一些上传表格来上传一些图片。但是当图像选择然后按钮提交点击结果说“你没有选择要上传的文件”。
我使用 php,带有 codeigniter 框架
风景
<form class="text-left" enctype="multipart/form-data" method="post" action="<?= base_url('aduan/add'); ?>">
<div class="form-group">
<label>Upload Foto Bukti Aduan</label>
<div class="form-group">
<label>Bukti Aduan 1</label>
<input class="form-control-file" type="file" id="bukti1" name="bukti_aduan1" />
<?= form_error('bukti_aduan1', '<p class="text-danger font-weight-bold pl-2">', '</p>'); ?>
</div>
<div class="form-group">
<label>Bukti Aduan Pelapor di Lokasi</label>
<input class="form-control-file" type="file" id="bukti2" name="bukti_aduan2" />
<?= form_error('bukti_aduan2', '<p class="text-danger font-weight-bold pl-2">', '</p>'); ?>
</div>
</div>
哪个视图将为输入功能运行控制器“aduan”
控制器文件:
$aduan = $this->aduan_model;
$validation = $this->form_validation;
$validation->set_rules($aduan->rules());
if ($validation->run()) {
$aduan->tambah();
$this->session->set_flashdata('success', 'Berhasil disimpan');
$data['title'] = 'Buat Aduan Kasus Lingkungan';
$this->load->view('home/home_header', $data);
$this->load->view('home/aduansukses');
$this->load->view('home/home_footer');
} else {
$data['aduan'] = $this->aduan_model->getAll();
$data['title'] = 'Buat Aduan Kasus Lingkungan';
$this->load->view('home/home_header', $data);
$this->load->view('home/buataduan');
$this->load->view('home/home_footer');
}
然后控制器将加载一个模型“aduan_model”
模型文件:
public function tambah()
{
$post = $this->input->post();
$this->nik_pelapor = $post["nik_pelapor"];
$this->nama_pelapor = $post["nama_pelapor"];
$this->email_pelapor = $post["email_pelapor"];
$this->telp_pelapor = $post["telp_pelapor"];
$this->alamat_pelapor = $post["alamat_pelapor"];
$this->aduan = $post["aduan"];
$this->bukti_aduan1 = $this->_uploadImage();
$this->bukti_aduan2 = $this->_uploadImage2();
$this->status_aduan = 'Dalam proses';
$this->tgl_aduan = time();
$this->db->insert($this->_table, $this);
}
private function _uploadImage()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
// $config['max_width'] = 1024;
// $config['max_height'] = 768;
$this->load->library('upload', $config);
if ($this->upload->do_upload('bukti_aduan1')) {
return $this->upload->data();
}
return "default.jpg";
}
private function _uploadImage2()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
// $config['max_width'] = 1024;
// $config['max_height'] = 768;
$this->load->library('upload', $config);
if ($this->upload->do_upload('bukti_aduan2')) {
return $this->upload->data();
}
return "default.jpg";
}
我希望图像的输出可以存储在文件上传中并插入数据库中,但它没有选择任何文件
请帮忙 :)
解决方案
试试我的代码
替换控制器中的 if 条件以上传
if(
(!$this->upload->do_upload('bukti_aduan2')) &&
(! $this->upload->do_upload('bukti_aduan1'))
)
{
echo "failed";
}
else
{
echo "success";
}
推荐阅读
- concourse - 在作业之间传递容器
- javascript - 快递 | 如何将本地服务器与具有自己令牌的应用程序连接
- javascript - 为什么现在我添加了计数器变量和间隔后我的动画不起作用?
- sql-server - 财务周数和年份的 DateAdd 和 DateDiff
- google-sheets - ImportHTML 的问题
- javascript - 每次用户访问页面时如何显示新图像
- javascript - 如何使用 jQuery 在 iframe 中创建事件
- performance - 使用 MS 负载测试,是否可以通过每分钟启动的测试数量来控制测试流程
- python-3.x - 为什么不将我的单列 DataFrame 应用到系列?
- cassandra - Cassandra 警告 - 内部客户端 ping 失败