Php 在codeigniter中,可以在一个表单中为不同的图像上传提供多个输入/浏览文件,以便将所有文件都保存在一个db中?
我是这里的新手,我的研究项目非常需要帮助。我不知道如何使用codeigniter将多个图像上传到数据库中的不同字段。在过去的几天里,我尝试了很多方法,但还是失败了 我的问题是,在codeigniter中,可以在一个表单中为图像按钮提供多个输入/浏览文件,以便将所有内容保存在数据库的一个表中。我有两个文本字段,我想为每一个不同的图像。我想用第一个文本框保存一个或多个图像,用第二个文本框保存一个或多个图像 我当前的错误是只有1个图像成功上传到字段,另一个字段为空 我的控制器:Php 在codeigniter中,可以在一个表单中为不同的图像上传提供多个输入/浏览文件,以便将所有文件都保存在一个db中?,php,mysql,codeigniter,Php,Mysql,Codeigniter,我是这里的新手,我的研究项目非常需要帮助。我不知道如何使用codeigniter将多个图像上传到数据库中的不同字段。在过去的几天里,我尝试了很多方法,但还是失败了 我的问题是,在codeigniter中,可以在一个表单中为图像按钮提供多个输入/浏览文件,以便将所有内容保存在数据库的一个表中。我有两个文本字段,我想为每一个不同的图像。我想用第一个文本框保存一个或多个图像,用第二个文本框保存一个或多个图像 我当前的错误是只有1个图像成功上传到字段,另一个字段为空 我的控制器: public func
public function create(){
//form validation sebelum mengeksekusi QUERY INSERT
$this->form_validation->set_rules('nama', 'Nama Property', 'required');
$this->form_validation->set_rules('deskripsi_singkat', 'Deskripsi Singkat', 'required');
$this->form_validation->set_rules('deskripsi_lengkap', 'Deskripsi Lengkap', 'required');
$this->form_validation->set_rules('harga_range', 'Price Range', 'required|integer');
$this->form_validation->set_rules('unit', 'Total Unit', 'required|integer');
//$this->form_validation->set_rules('userfile', 'Product Image', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('backend/form_tambah_product');
} else {
//load uploading file library
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '300'; //MB
$config['max_width'] = '2000'; //pixels
$config['max_height'] = '2000'; //pixels
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('gambar'))
{
//file gagal diupload -> kembali ke form tambah
$this->load->view('backend/form_tambah_product');
} else {
$upload_data = $this->upload->data();
}
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '300'; //MB
$config['max_width'] = '2000'; //pixels
$config['max_height'] = '2000'; //pixels
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('gambar1'))
{
//file gagal diupload -> kembali ke form tambah
$this->load->view('backend/form_tambah_product');
} else {
$upload_data2 = $this->upload->data();
}
//file berhasil diupload -> lanjutkan ke query INSERT
// eksekusi query INSERT
$data_product = array(
'nama' => set_value('nama'),
'deskripsi_singkat' => set_value('deskripsi_singkat'),
'deskripsi_lengkap' => set_value('deskripsi_lengkap'),
'harga_range' => set_value('harga_range'),
'unit' => set_value('unit'),
'image'=>$upload_data['file_name'],
'blok_plan'=>$upload_data2['file_name']
);
$this->model_products->create($data_product);
}
}
视图:
<div><?= validation_errors() ?></div>
<?= form_open_multipart('products/create', ['class'=>'form-horizontal']) ?>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Nama Property</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="nama" placeholder="" value="<?= set_value('nama') ?>">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Deskripsi Singkat</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="deskripsi_singkat" placeholder="" value="<?= set_value('deskripsi_singkat') ?>">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Deskripsi Lengkap</label>
<div class="col-sm-10">
<textarea class="form-control" name="deskripsi_lengkap"><?= set_value('deskripsi_lengkap') ?></textarea>
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Price Range</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="harga_range" placeholder="" value="<?= set_value('harga_range') ?>">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Total Unit</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="unit" placeholder="" value="<?= set_value('unit') ?>">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Property Image</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="gambar" >
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Blok Plan</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="gambar1" >
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Save</button>
</div>
</div>
<?= form_close() ?>
</div>
<div class="col-md-1"></div>
</div>
<script>
$(document).ready(function(){
$('#myTable').DataTable();
});
</script>
为此使用jquery,也可以使用select2或Selected库。请参阅如何使用select2进行多输入:
如果您知道如何使用jquery和基本php,您将可以做到这一点。为此使用jquery,或者您可以使用select2或Selected库。请参阅如何使用select2进行多输入:
如果你知道如何使用jquery和基本php,你就会这样做。最后,感谢大家的参考
public function create(){
//form validation sebelum mengeksekusi QUERY INSERT
$this->form_validation->set_rules('nama', 'Nama Property', 'required');
$this->form_validation->set_rules('deskripsi_singkat', 'Deskripsi Singkat', 'required');
$this->form_validation->set_rules('deskripsi_lengkap', 'Deskripsi Lengkap', 'required');
$this->form_validation->set_rules('harga_range', 'Price Range', 'required|integer');
$this->form_validation->set_rules('unit', 'Total Unit', 'required|integer');
//$this->form_validation->set_rules('userfile', 'Product Image', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('backend/form_tambah_product');
} else {
//load uploading file library
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '300'; //MB
$config['max_width'] = '2000'; //pixels
$config['max_height'] = '2000'; //pixels
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('gambar'))
{
//file gagal diupload -> kembali ke form tambah
$this->load->view('backend/form_tambah_product');
} else {
$upload_data = $this->upload->data();
$config2['upload_path'] = './uploads/';
$config2['allowed_types'] = 'jpg|png';
$config2['max_size'] = '300'; //MB
$config2['max_width'] = '2000'; //pixels
$config2['max_height'] = '2000'; //pixels
$this->load->library('upload', $config2);
$this->upload->initialize($config2);
if ( ! $this->upload->do_upload('gambar1'))
{
//file gagal diupload -> kembali ke form tambah
$this->load->view('backend/form_tambah_product');
} else {
$upload_data2 = $this->upload->data();
//file berhasil diupload -> lanjutkan ke query INSERT
// eksekusi query INSERT
$data_product = array(
'nama' => set_value('nama'),
'deskripsi_singkat' => set_value('deskripsi_singkat'),
'deskripsi_lengkap' => set_value('deskripsi_lengkap'),
'harga_range' => set_value('harga_range'),
'unit' => set_value('unit'),
'image'=>$upload_data['file_name'],
'blok_plan'=>$upload_data2['file_name']
);
$this->model_products->create($data_product);
}
redirect('products');
}
}
}
最后,谢谢大家的推荐
public function create(){
//form validation sebelum mengeksekusi QUERY INSERT
$this->form_validation->set_rules('nama', 'Nama Property', 'required');
$this->form_validation->set_rules('deskripsi_singkat', 'Deskripsi Singkat', 'required');
$this->form_validation->set_rules('deskripsi_lengkap', 'Deskripsi Lengkap', 'required');
$this->form_validation->set_rules('harga_range', 'Price Range', 'required|integer');
$this->form_validation->set_rules('unit', 'Total Unit', 'required|integer');
//$this->form_validation->set_rules('userfile', 'Product Image', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('backend/form_tambah_product');
} else {
//load uploading file library
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '300'; //MB
$config['max_width'] = '2000'; //pixels
$config['max_height'] = '2000'; //pixels
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('gambar'))
{
//file gagal diupload -> kembali ke form tambah
$this->load->view('backend/form_tambah_product');
} else {
$upload_data = $this->upload->data();
$config2['upload_path'] = './uploads/';
$config2['allowed_types'] = 'jpg|png';
$config2['max_size'] = '300'; //MB
$config2['max_width'] = '2000'; //pixels
$config2['max_height'] = '2000'; //pixels
$this->load->library('upload', $config2);
$this->upload->initialize($config2);
if ( ! $this->upload->do_upload('gambar1'))
{
//file gagal diupload -> kembali ke form tambah
$this->load->view('backend/form_tambah_product');
} else {
$upload_data2 = $this->upload->data();
//file berhasil diupload -> lanjutkan ke query INSERT
// eksekusi query INSERT
$data_product = array(
'nama' => set_value('nama'),
'deskripsi_singkat' => set_value('deskripsi_singkat'),
'deskripsi_lengkap' => set_value('deskripsi_lengkap'),
'harga_range' => set_value('harga_range'),
'unit' => set_value('unit'),
'image'=>$upload_data['file_name'],
'blok_plan'=>$upload_data2['file_name']
);
$this->model_products->create($data_product);
}
redirect('products');
}
}
}
你面临什么问题?有错误吗?我想这会对你有帮助。那些链接没有解决我的问题,先生。。但是谢谢@KevalRathi@IndrasinhBihola我当前的错误是只有1个图像成功上传到字段,另一个字段为空。您面临什么问题?有错误吗?我想这会对你有帮助。那些链接没有解决我的问题,先生。。但是谢谢@KevalRathi@IndrasinhBihola我当前的错误是只有1个图像成功上传到字段,另一个字段为空。