关于php多文件上传的快速建议

关于php多文件上传的快速建议,php,jquery,Php,Jquery,我正在使用这个代码,这基本上帮助我获取用户在浏览器上放置的文件,然后将其发布到php并回显文件名,但问题是php中的数组,每当我放置2个文件并调用php文件并尝试回显它始终给我5个文件的计数时,它会回显2个文件名和+其他未定义的索引。。。。如果我上传5个文件,它显示所有5个没有问题…请帮助我为什么会发生这种情况 以下是我的jquery代码: function handleFiles(droppedFiles) { var uploadFormData = new FormData($("#y

我正在使用这个代码,这基本上帮助我获取用户在浏览器上放置的文件,然后将其发布到php并回显文件名,但问题是php中的数组,每当我放置2个文件并调用php文件并尝试回显它始终给我5个文件的计数时,它会回显2个文件名和+其他未定义的索引。。。。如果我上传5个文件,它显示所有5个没有问题…请帮助我为什么会发生这种情况

以下是我的jquery代码:

function handleFiles(droppedFiles) {
  var uploadFormData = new FormData($("#yourregularuploadformId")[0]);
  if(droppedFiles.length > 0) {
    // checks if any files were dropped
    for(var f = 0; f < droppedFiles.length; f++) {
      // for-loop for each file dropped
      alert(droppedFiles[f]['name']);
      uploadFormData.append("files[]",droppedFiles[f]);
      // adding every file to the form so you could upload multiple files
    }
  }

 // the final ajax call
 alert(uploadFormData);
 $.ajax({
   url : "try.php?size="+s, // use your target
   type : "POST",
   data : uploadFormData,
   cache : false,
   contentType : false,
   processData : false,
   success : function(ret) {
     alert(ret);
   }
  });
  return false;
}
函数句柄文件(droppedFiles){
var uploadFormData=新FormData($(“#您的常规UploadFormId”)[0]);
如果(droppedFiles.length>0){
//检查是否删除了任何文件
对于(var f=0;f
以下是我的php代码:

if(isset($_FILES["files"])) {
  for ($i=0;$i<count($_FILES['files']);$i++) {
    echo $_FILES['files']['name'][$i];
    echo "\n";
  }
}
if(isset($\u文件[“文件])){

对于($i=0;$i它不是这样工作的。
$\u FILES
是一个包含上传文件的关联数组,由字段名索引。每个条目正好有五个元素:
name
tmp\u name
size
type
error
。每个元素都是一个数组,包含的元素数与u>相同打印文件

因此,如果您
计数($\u FILES['FILES'])
,结果将始终为5。但是如果您
计数($\u FILES['FILES'][$xyz])
其中
$xyz
是上述任何键,则这将是上载文件的数量

因此,您的代码的工作方式如下,例如:

if(isset($_FILES["files"]))
  {
  for ($i=0;$i<count($_FILES['files']['name']);$i++) 
    {
    echo $_FILES['files']['name'][$i];
    echo "\n";
    }
  }
if(isset($\u文件[“文件]))
{

对于($i=0;$i将其更改为:
if(isset($\u FILES['FILES']['name'][$i])echo$\u FILES['FILES']['name'][$i];
谢谢工作得很好谢谢
if(isset($_FILES["files"]))
  {
  $filenames=$_FILES['files']['name'];
  for ($i=0;$i<count($filenames);$i++) 
    {
    echo $filenames[$i];
    echo "\n";
    }
  }