首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个文件上载导致foreach()错误

多个文件上载导致foreach()错误
EN

Stack Overflow用户
提问于 2017-07-22 13:41:18
回答 2查看 761关注 0票数 1

实际上是试图通过某种重命名一次上传文件夹中的多张图片。上载转到foreach循环。然而,它确实在这一点上停止了:

代码语言:javascript
复制
foreach ($_FILES['pictures']['name'] as $f => $name) {
        if ($_FILES['pictures']['error'][$f] == 0) {
            $name = $date;
            $name .= "-";
            $name .= $i;
            $name .= ".";
            $extsearch = $_FILES['pictures']['name'][$f];
            $ext = pathinfo($extsearch, PATHINFO_EXTENSION);
            $name .= $ext;
            if(move_uploaded_file($_FILES["pictures"]["tmp_name"][$f], $path.$name)) {
                if ($i == 1) {
                    create_image_thumb($albumFolder, $name);
                }
                $i++;
                resize_image($albumFolder, $name);
            }
        }
    }

但是,我在error_log中收到这个错误,并且文件没有被移动:

代码语言:javascript
复制
PHP Warning:  Invalid argument supplied for foreach() in /home/clublabo/public_html/management/create_album_action.php on line 43

更新:以下是HTML代码:

代码语言:javascript
复制
<form class="form form-horizontal" action="create_album_action.php" method="post" enctype="multipart/form-data">
              <div class="form-group">
                <label for="email-2" class="col-sm-3 col-md-4 control-label">Date</label>
                <div class="col-sm-6 col-md-4">
                  <div class="input-with-icon">
                  <input name="dateAlbum" class="form-control" type="text" value="<?php echo date('Y-m-d'); ?>" data-provide="datepicker" data-date-autoclose="true" data-date-format="yyyy-mm-dd"><span class="icon icon-calendar input-icon"></span></div>
                </div>
              </div>
              <div class="form-group">
                <label for="password-2" class="col-sm-3 col-md-4 control-label">Pictures</label>
                <div class="col-sm-6 col-md-4">
                  <input name="pictures" id="password-2" class="form-control" type="file" multiple>
                </div>
              </div>
              <div class="form-group">
                <div class="col-sm-offset-3 col-sm-6 col-md-offset-4 col-md-4">
                  <button class="btn btn-primary pull-right" type="submit">Create Album</button>
                </div>
              </div>
            </form>

也许你们知道怎么解决这个问题?

谢谢:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-22 14:40:35

替换:

代码语言:javascript
复制
<input name="pictures" id="password-2" class="form-control" type="file" multiple>

通过以下方式:

代码语言:javascript
复制
<input name="pictures[]" id="password-2" class="form-control" type="file" multiple>
票数 1
EN

Stack Overflow用户

发布于 2017-07-22 14:08:56

只需在表单输入"name“的末尾添加[]即可。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45251111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档