繁体   English   中英

如何使用PHP获取多个文件计数

[英]How to get multiple file count using PHP

我想获得多个文件计数。 但我犯了错误。 我的错误;

count(): Parameter must be an array or an object that implements Countable

这是我的 HTML 代码

<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" id="fileImage" name="fileImage"
                             class="custom-file-image-input"
                             accept="image/*"
                             multiple="multiple">
        <input type="submit" value="OK" name="send">

</form>

这是我的 PHP 代码

if($_POST['send'])
{
    print $c = count($_FILES['fileImage']['name']);
}

如果我做'count($_FILES['fileImage']);' // 响应 => 5 这是错误的。

当我删除图像时,我计算错误。

这是我的 js 代码

this.element.parent().on('click', '.custom-file-preview-del', function (e) {
        e.preventDefault();
        let del = $(this);
        let id = del.data('key');
        let index = ref.imageFileArray.findIndex(item => {
            return item.index == id;
        });
        ref.imageFileArray.splice(index, 1);
        del.parent().remove();
        //Array after deleted
        console.log(ref.imageFileArray);
    });

当我在控制台屏幕上看到时,删除过程是正确的。

我需要帮助。 感谢和问候。

我想在这种情况下,您只上传了一个文件。

您要做的第一件事是确保可以通过更改输入名称来提交多个文件,目前您有name="fileImage" ,这将只允许提交一个文件,您需要更改名称,以便它可以包含多个值,如下所示:

<input type="file" name="fileImage[]"

如果有一个文件, name就是一个字符串,如果有多个就是一个数组,所以要做的就是先检查它是否是一个数组,然后再决定是否计算它。

if($_POST['send'])
{
    $c = (is_array($_FILES['fileImage']['name']) ? count($_FILES['fileImage']['name']) : 1);
    print $c;
}

上传多个文件时输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM