如何计算上传文件的数量? 这是我的表格:
<div id="dragAndDropFiles" class="uploadArea">
<h1>Drop Images Here</h1>
</div>
<form id="sfmFiler" class="sfmform" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" multiple />
<input type="submit" name="submitHandler" id="submitHandler" class="buttonUpload" value="Upload">
</form>
这是上传文件的php片段:
if($_SERVER['REQUEST_METHOD'] == "POST") {
$tmpFilePath = $_FILES['file']['tmp_name'];
$newFilePath = $dir.'/' . $_FILES['file']['name'];
if(move_uploaded_file($tmpFilePath, $newFilePath)) {
echo "xxx files are successfully uploaded";
}
}
答案 0 :(得分:9)
在此代码中,您只获得一个文件,这就是为什么要获得计数结果1.如果更改输入文件名,如“file []”
<input type="file" name="file[]" id="file" multiple />
然后使用以下行代码,您将得到您想要的结果。因此需要一个数组来保存输入数据。
<?php echo count($_FILES['file']['name']); ?>
谢谢,我在我的系统中尝试了结果。
答案 1 :(得分:2)
朋友是正确的。上面的答案总是返回1。
尝试:
echo count(array_filter($_FILES['file']['name']))
反正为我工作。
_t
答案 2 :(得分:1)
检查此答案
<?php echo count($_FILES['file']['name']); ?>
答案 3 :(得分:1)
使用array_filter
函数有效
尝试
$countfiles = count(array_filter($_FILES['file']['name']));
如果为NULL,则返回0,如果上传了1个文件,则返回1,等等。