【发布时间】:2010-12-06 15:19:39
【问题描述】:
我有一个表格,里面有几个
input type="file"
标签。我如何在服务器端知道用户上传的文件数量。他可以上传3个文件,或者可能是5个文件,1个甚至什么都没有。我需要知道用户上传了多少文件。
【问题讨论】:
我有一个表格,里面有几个
input type="file"
标签。我如何在服务器端知道用户上传的文件数量。他可以上传3个文件,或者可能是5个文件,1个甚至什么都没有。我需要知道用户上传了多少文件。
【问题讨论】:
您可以在包含上传文件信息的$_FILES 数组上使用count 或sizeof:
echo count($_FILES);
你可以这样做:
$counter = 0;
foreach($_FILES as $value){
if (strlen($value['name'])){
$counter++;
}
}
echo $counter; // get files count
【讨论】:
print_r($_FILES) 进行测试:)
如果您输入的上传标签名称为file1、file2,那么
if($_FILES['file1']['size'] > 0)
echo "User uploaded some file for the input named file1"
现在对于许多文件(查看您的输出),运行一个 foreach 循环,如下所示:-
$cnt=0;
foreach($_FILES as $eachFile)
{
if($eachFile['size'] > 0)
$cnt++;
}
echo $cnt." files uploaded";
我不确定为什么How can I know a number of uploaded files with PHP? 中的类似答案被否决了?对于“0”?
【讨论】:
$_FILES 是一个全局文件数组,用于存储上传的文件。
【讨论】:
表格:
<form enctype="multipart/form-data" ...>
<input type="file" name="image[]" multiple>
脚本:
$c = sizeof($_FILES['image']['name']);
【讨论】: