我有一个表单,它有多个文件上传,每个输入都有唯一的名称,但是,当试图获取上传的文件时,我的测试是否显示为false。
请找到下面的代码。我不知道为什么会发生这种事。
<label class="label" for="uploadfile">Contract:</label>
<input name="'.$ICP.'_uploadedfile" id="'.$ICP.'_uploadedfile" type="file" />$ICP变量被循环,因为可以有多个实例,因此每个名称都是唯一的,并且在服务器端为ICP的每个循环请求POST。
while($icp_details = mysqli_fetch_array($ICP_exist_qry)){
$ICP_ID = stripslashes($icp_details['ICP_ID']);
if(!file_exists($_FILES[$ICP_ID."_uploadedfile"]['tmp_name']) || !is_uploaded_file($_FILES[$ICP_ID."_uploadedfile"]['tmp_name'])) {
echo false;
} else {
echo true;
}
}我没有任何问题,检索值的其他张贴输入,只是文件上传的一部分。
对这件事的任何帮助都是非常感谢的。:)
注意:表单是由Ajax提交的。
发布于 2015-03-02 00:21:51
要使用Ajax (在本例中是JQuery)正确上传文件,您需要使用FormData对象。下面的代码片段说明了如何使用它。它用于代替.serialize()或.serializeArray()方法。
$('#file-form').submit(function(e) {
$.ajax({
url: 'http://example.com/upload/',
type: 'POST',
data: new FormData(this),
processData: false,
contentType: false
});
e.preventDefault();
});https://stackoverflow.com/questions/28800749
复制相似问题