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