【问题标题】:How to upload multiple images at once如何一次上传多张图片
【发布时间】:2014-07-14 03:37:01
【问题描述】:

我想一次上传多张图片。
找了很多关于这个主题的问题和文章,但还是不明白。

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);
}

上面的代码有什么错误?

【问题讨论】:

标签: php codeigniter file-upload


【解决方案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']);
}

【讨论】:

  • 谢谢,但还是不想上传文件,字段数也不固定。
  • numbers 是固定的,看代码,上传失败会出现什么错误?见使用,$_FILES["file"]["error"]
  • Message: is_uploaded_file() expects parameter 1 to be string, array given,还有另一条消息You did not select a file to upload.我已经选择了文件。
  • print_r ($_FILES['image_upload' . $i]['name']) 在 for 循环中,将为您提供 $_FILES['image_upload' 的结构。 $i]['name'] 如果是数组,把它转换成字符串然后使用你可以给我。
  • 注意:我还在用&lt;input type="file" name="image_upload[]" /&gt;,我不能用这个&lt;input type="file" name="image_upload1" /&gt;image_upload1image_upload2等,因为字段编号是动态的,我用javascript来添加更多新字段
【解决方案2】:

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

if (!empty($values))

应该是

if (!empty($value))

【讨论】:

  • 谢谢,但这不是问题的原因。我在写代码的时候犯了错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
  • 2021-01-03
相关资源
最近更新 更多