如何使用 PHP 获取多个文件计数
Posted
技术标签:
【中文标题】如何使用 PHP 获取多个文件计数【英文标题】:How to get multiple file count using PHP 【发布时间】:2020-05-26 16:32:48 【问题描述】:我想获取多个文件的数量。但我犯了错误。我的错误;
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);
);
当我在控制台屏幕上看到时,删除过程是真的。
我需要帮助。谢谢问候。
【问题讨论】:
这能回答你的问题吗? how to count number of uploaded files in php 我知道这一点,但如果我输入 '[ ]',当我删除图像时,我拿错了号码 【参考方案1】:我想在这种情况下,您只上传了一个文件。
您要做的第一件事是确保可以通过更改输入名称来提交多个文件,此时您有name="fileImage"
,这将只允许提交一个文件,您需要更改名称,使其可以包含多个值,如下所示:
<input type="file" name="fileImage[]"
如果有一个文件,name
是一个字符串,如果有多个它是一个数组,所以要做的事情是先检查它是否是一个数组,然后再决定是否数一数。
if($_POST['send'])
$c = (is_array($_FILES['fileImage']['name']) ? count($_FILES['fileImage']['name']) : 1);
print $c;
Output when multiple files are uploaded.
【讨论】:
我知道这一点,但如果我输入 '[ ]',当我删除一张图片时,我的计数是错误的。我该怎么办? 您需要详细说明 - 编辑您的问题并发布更多代码并进一步解释此删除问题。以上是关于如何使用 PHP 获取多个文件计数的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 获取 EXIF 快门计数(imageNumber)?