我在PHP下面的代码:在php文件发布不同的文件类型,以不同的PHP块
if (isset($_FILES)) {
foreach($_FILES as $index => $picture)
{
echo $_FILES;
}
}
JavaScript代码来发布表单数据:
$(".update").click(function(){
$.ajax({
url: 'submit.php',
type: 'POST',
contentType:false,
processData: false,
data: function(){
var data = new FormData();
jQuery.each(jQuery('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
data.append('body' , $('#body').val());
return data;
}(),
success: function(result) {
alert(result);
},
error: function(xhr, result, errorThrown){
alert('Request failed.');
}
});
$('#picture').val('');
$('#body').val('');
});
HTML表单:
<form enctype="multipart/form-data" method="post" id="myform">
<textarea name="body" id="body" class="texarea" placeholder="type here">
</textarea>
<label for="photo" class="custom-file-upload">
<i class="fa fa-picture-o"style="font-size:20px;color:pirple;"></i>
</label>
<input id="file" name="picture[]" type="file" multiple/>
//this is my part of interest now
<label for="docs" class="docsmsg">
<i class="fa fa-file" style="font-size:20px;color:red;"></i>
</label>
<input id="docs" name="document[]" type="file" multiple/>
</form>
PHP代码没有收到具有特定名称的文件属性的形式,但任何文件无论是照片,文档或不同的名称。 if(isset($ _ FILES))
但是,这不是我想要的。在我的表单中,我需要两个甚至三个文件输入选项,就像上面的选项一样,除了另一个选项仅用于上载文档,最后一个仅用于上传视频...请注意放置注释的位置...说......“这是我感兴趣的部分。”这是我想添加的新增功能。
目前只能上传照片......但我对三个文件输入选项感兴趣......一个用于照片,视频和文档。
起初我试图区分使用这个PHP代码不同:
if (isset($_FILES[file])) {
//do something
}
,但没有奏效。它没有做'东西'。直到我在方括号中删除[文件]描述的最后,它才开始执行上面提到的“某事”。
我的问题确实是基于我想要达到的....这是有不同类型的文件单独多个文件输入,我如何让PHP实际确定哪些表单输入字段的文件正在连接,或者我想要处理哪些文件类型。 现在的代码,哪个输入字段文件正在附加,但最后,如果(isset($ _ FILES))指令都来到那个没关系......
''_FILES [file]'' - 变量文件必须包含$ _FILES数组的有效索引。要测试一个特定的文件类型,你必须得到文件名,并测试它的扩展名或MIME类型。一般来说,在网络上做这些事情有很多例子,特别是。 –
看看这篇文章:http://php.net/manual/en/features.file-upload.post-method.php –
这个链接可能不适合我....记住,我想要得到具有特定名称的多个文件被发送到php文件....多个文件来自一个输入字段而不是多个输入字段.......两个多个输入字段用于具有不同名称的两种不同类型的文件。 ..每个字段必须一次接受该文件类型的多个上传。 – maraj