如何一次上传多个图像

时间:2014-05-25 04:01:24

标签: php codeigniter file-upload

我想一次上传很多图片 我发现了很多关于这个主题的问题和文章,但我仍然不明白。

HTML

<?php echo form_open_multipart(base_url() . 'admin/news/addNews_processing') ?>
<input type="file" name="image_upload[]" />
<input type="file" name="image_upload[]" />
<input type="file" name="image_upload[]" />
<input type="file" name="image_upload[]" />
<input type="file" name="image_upload[]" />
<?php echo form_close(); ?>

PHP

$config['upload_path'] = FCPATH . "assets\uploads";
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '1024';
$this->load->library('upload');
foreach ($_FILES['image_upload']['name'] as $key => $value) {
    if (!empty($value))
        $this->upload->do_upload($value);
}

上述代码中的错误是什么?

2 个答案:

答案 0 :(得分:0)

在您的foreach循环中,您正在检查$values是否为空,但在foreach定义中,您使用的$value是我在任何地方都看不到的。

if (!empty($values))

应该是

if (!empty($value))

答案 1 :(得分:-1)

您的输入名称应该不同。因为,当你打电话给它时,它会得到多个相互矛盾的结果

HTML

<?php echo form_open_multipart(base_url() . 'admin/news/addNews_processing') ?>
<input type="file" name="image_upload1" />
<input type="file" name="image_upload2" />
<input type="file" name="image_upload3" />
<input type="file" name="image_upload4" />
<input type="file" name="image_upload5" />
<?php echo form_close(); ?>

PHP

$config['upload_path'] = FCPATH . "assets\uploads";
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '1024';
$this->load->library('upload');
for($i=1;$i<=count($_FILES); $i++)
{
$this->upload->do_upload($_FILES['image_upload' . $i]['name']);
}