【发布时间】:2018-07-05 10:33:20
【问题描述】:
我正在从我的表单上传四张图片,但图片没有上传。我在下面粘贴了我的代码。请纠正我在哪里做错了。首先我进行了验证,然后我配置了和路径。后来我加载了上传库,后来给了每张图片的图片路径。
我的控制器代码
public function upro()
{
$this->form_validation->set_rules('pro_name','Product','required');
$this->form_validation->set_rules('pro_image1','Image1','required');
$this->form_validation->set_rules('pro_image2','Image2','required');
$this->form_validation->set_rules('pro_image3','Image3','required');
$this->form_validation->set_rules('pro_image4','Image4','required');
// $today = date('Y-m-d');
if($this->form_validation->run()){
function uploadPic()
{
$config=[
'upload_path' => './uploads',
'allowed_types' => 'jpg|gif|png|jpeg'
];
$this->load->library('upload',$config);
}
$data = $this->input->post();
$today = date('Y-m-d');
$data['pro_date'] = $today;
$info = $this->upload->data();
$image_path = base_url("uploads/".$info['raw_name'].$info['file_ext']);
$data['pro_image1'] = $image_path;
$data['pro_image2'] = $image_path;
$data['pro_image3'] = $image_path;
$data['pro_image4'] = $image_path;
unset($data['submit']);
$this->adata->uproQ($data);
$this->session->set_flashdata('msg','Product uplaod success');
return redirect('admin/products');
}else{
$this->session->set_flashdata('msg','product uplaod failed');
return redirect('admin/apro');
}
}
我的模型代码
public function uproQ($data)
{
return $this->db->insert('products',$data);
}
我的表单查看代码
<?php echo form_open_multipart('admin/upro');?>
<label><h5>product Name:*</h5></label>
<?php echo form_input(['name'=>'pro_name','class'=>'form-control','placeholder'=>'product Name Here','value'=>set_value('pro_name')]);?>
<?php echo form_upload(['name'=>'pro_image1']);?>
<label><h5>product Image2:*</h5></label>
<?php echo form_upload(['name'=>'pro_image2']);?>
<label><h5>product Image3:*</h5></label>
<?php echo form_upload(['name'=>'pro_image3']);?>
<label><h5>product Image4:*</h5></label>
<?php echo form_upload(['name'=>'pro_image4']);?>
<button type="reset" class="btn btn-warning">Reset</button> <button type="submit" class="btn btn-primary">Submit</button><hr>
<?php form_close();?>
【问题讨论】:
-
不好的做法是将图片保存到数据库,它会减慢您的查询速度,我建议您直接将文件保存到相应的文件夹中,并在获取图片网址时,只需检查文件是否存在
-
这是什么
$this->adata->uproQ($data);,哦是另一个文件中的uproQ,刚刚看到评论//my model Code,有点不清楚。我建议用实际文本中的 cmets 为问题做单独的代码块。 -
我将所有这些表单数据传递到我的模型函数 uproQ($data)
-
对,我只是重新格式化了你的问题,希望你不介意。以这种方式“一目了然”阅读它会更干净一开始我以为它是同一个文件,我就像
-
兄弟,如果您知道正确的上传方式,请告诉我此代码上传图片的修改
标签: php codeigniter