Codeigniter同时上传特色图像和多个图像

时间:2018-05-28 16:12:50

标签: php codeigniter file-upload

我已经修改了代码以使用foreach循环,现在我可以访问文件名,而{a[$2]=a[$2] FS $1} END { for(i in a) { $0=a[i]; for(j=1;j<NF;j++)for(k=j+1;k<=NF;++k) print $j,$k,i} } 正在这样的数组中打印文件名:

print_r

但我仍然收到以下错误:

Array ( [0] => Uconn.png [1] => UW_Medicine.png [2] => Yale.png ) Axis.png

和数据库错误:

A PHP Error was encountered

Severity: Notice

Message: Array to string conversion

我只是不知道如何传递模型中要上传的循环文件。

我试图在一个输入中上传一个特色图像,同时在另一个输入中上传多个图像,我尝试了很多方法和方法来做到这一点,但我总是以错误结束,主要是数组到字符串转换错误

特色图像存储在一个数据库表中,多个图像存储在另一个表中。

我目前的代码:

HTML:

Error Number: 1054

Unknown column 'Array' in 'field list'

INSERT INTO `yacht_slider` (`yacht_slide_id`, `slide`) VALUES (87, Array)

型号:

<div class="form-group">
          <label for="" class="control-label">Image</label>
          <input type="file" class="form-control" name="featured">
        </div>
        <div class="form-group">
          <label for="" class="control-label">Slider</label>
          <input type="file" class="form-control" name="userfile[]" multiple>
        </div>

控制器:

public function create_yacht($yacht_img, $slider){
  $slug = url_title($this->input->post('title'));
  $data = array(
    'title' => $this->input->post('title'),
    'slug' => $slug,
    'img' => $yacht_img,
    'city' => $this->input->post('city'),
    'category' => $this->input->post('category'),
    'price' => $this->input->post('price'),
    'description' => $this->input->post('description')
  );
  $this->db->insert('yachts', $data);
  $insert_id = $this->db->insert_id();
  $data_4 = array(
    'yacht_slide_id' => $insert_id,
    'slide' => $slider
  );
  $this->db->insert('yacht_slider', $data_4);
}

2 个答案:

答案 0 :(得分:1)

我已经清理了一些代码,并进行了一些错误报告,以便在发生错误时不会让用户感到困惑。

控制器:

public function create_yacht($yacht_img, $slider_images) {
    $slug = url_title($this->input->post('title'));
    $data = array(
        'title' => $this->input->post('title'),
        'slug' => $slug,
        'img' => $yacht_img,
        'city' => $this->input->post('city'),
        'category' => $this->input->post('category'),
        'price' => $this->input->post('price'),
        'description' => $this->input->post('description')
    );
    $this->db->insert('yachts', $data);
    $insert_id = $this->db->insert_id();
    if (count($slider_images) > 0) {
        foreach ($slider_images as $image) {
            $this->db->insert('yacht_slider', array('yacht_slide_id' => $insert_id, 'slide' => $image));
        }
    }
}

型号:

For rptcount = LBound(rptVals, 2) To UBound(rptVals, 2)
    For chkcount = LBound(ElAr, 1) To UBound(ElAr, 1)

答案 1 :(得分:0)

如果你使用的是mySQL 7,那么它支持json数据类型,你可以保存为数组。如果您使用较低版本的MySQL最佳解决方案是将图像阵列转换为JSON格式,则将其插入表中。 有关MySQL中JSON的更多详细信息,请参阅 https://dev.mysql.com/doc/refman/8.0/en/json.html#json-values