首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传显示false的PHP文件

上传显示false的PHP文件
EN

Stack Overflow用户
提问于 2015-03-01 23:55:26
回答 1查看 35关注 0票数 0

我有一个表单,它有多个文件上传,每个输入都有唯一的名称,但是,当试图获取上传的文件时,我的测试是否显示为false。

请找到下面的代码。我不知道为什么会发生这种事。

代码语言:javascript
复制
<label class="label" for="uploadfile">Contract:</label>
<input name="'.$ICP.'_uploadedfile" id="'.$ICP.'_uploadedfile" type="file" />

$ICP变量被循环,因为可以有多个实例,因此每个名称都是唯一的,并且在服务器端为ICP的每个循环请求POST。

代码语言:javascript
复制
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提交的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-02 00:21:51

要使用Ajax (在本例中是JQuery)正确上传文件,您需要使用FormData对象。下面的代码片段说明了如何使用它。它用于代替.serialize()或.serializeArray()方法。

代码语言:javascript
复制
$('#file-form').submit(function(e) {
  $.ajax({
    url: 'http://example.com/upload/',
    type: 'POST',
    data: new FormData(this),
    processData: false,
    contentType: false
  });
  e.preventDefault();
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28800749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档