Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用$\u files变量访问通过AJAX发布的文件_Php_Jquery_Ajax_File Upload_Superglobals - Fatal编程技术网

Php 使用$\u files变量访问通过AJAX发布的文件

Php 使用$\u files变量访问通过AJAX发布的文件,php,jquery,ajax,file-upload,superglobals,Php,Jquery,Ajax,File Upload,Superglobals,尝试学习如何使用新的AJAX文件上传,而不是使用iframes或旧的只支持PHP的文件上传。我了解XHR请求是如何工作的,并且很长时间以来一直在使用jQuery的$.post。但是我买不到这个 原因:当我发布数据(我要上传的文件)时,我只能通过$\u post全局文件访问它,而不是所需的$\u文件全局文件。下面是我的一些代码: <input type="file" id="file"/> <input type="submit" id="submit" value="Uploa

尝试学习如何使用新的AJAX文件上传,而不是使用iframes或旧的只支持PHP的文件上传。我了解XHR请求是如何工作的,并且很长时间以来一直在使用jQuery的
$.post
。但是我买不到这个

原因:当我发布数据(我要上传的文件)时,我只能通过
$\u post
全局文件访问它,而不是所需的
$\u文件
全局文件。下面是我的一些代码:

<input type="file" id="file"/>
<input type="submit" id="submit" value="Upload" />
$("#file").on("change",function () {
  var file = this.files[0];
}
$("#submit").click(function () {
  var formData = new FormData();
  formData.append('file',file);

  $.ajax({
    url: '<?php echo BASE_URL; ?>ajax/upload.php', // point to server-side PHP script 
    dataType: 'text',  // what to expect back from the PHP script, if anything
    cache: false,
    contentType: false,
    processData: false,
    data: formData,                         
    type: 'post',
    success: function(php_script_response){
      alert(php_script_response); // display response from the PHP script, if any
    }
  });
});

$(“#文件”)。关于(“更改”,函数(){
var file=this.files[0];
}
$(“#提交”)。单击(函数(){
var formData=new formData();
formData.append('file',file);
$.ajax({
url:'ajax/upload.php',//指向服务器端php脚本
dataType:'text',//如果PHP脚本有什么需要的话,那么它将返回什么
cache:false,
contentType:false,
processData:false,
数据:formData,
键入:“post”,
成功:函数(php_脚本_响应){
警报(php_脚本_响应);//显示来自php脚本的响应(如果有)
}
});
});
在PHP脚本中,当我
var\u dump$\u POST
时,我会得到文件,但当我
var\u dump$\u文件
时,那里什么都没有。我找到了这些资源,但它们似乎对我不起作用:


为了填充
$\u文件
数组,内容类型应为
多部分/表单数据

尝试而不是:

contentType: false,
付诸表决:


为了填充
$\u文件
数组,内容类型应为
多部分/表单数据

尝试而不是:

contentType: false,
付诸表决:


耶!这很有道理!我该怎么做?@taxicala好的,现在它说“在多部分/表单数据POST数据中缺少边界”,我想我不知道那是什么means@taxicala我仍然无法让它工作。我查找了我的错误,但找不到解决方案。耶!这很有意义!我该怎么做?@taxicala Ok,现在它说“在多部分/表单数据POST数据中缺少边界”,我想我不知道这是什么means@taxicala我仍然无法让它工作。我查找了我的错误,但找不到解决方案。耶!这很有意义!我该怎么做?@taxicala Ok现在它说“在多部分/表单数据POST数据中缺少边界”“,我想我不知道那是什么means@taxicala我仍然无法使其工作。我查找了错误,但找不到解决方案。我编辑了标题以描述您的确切问题。使用非常具体的标题有助于更多地关注该问题。我改进了代码块的格式,列出了资源(中间的
/
不太清楚)以及大写缩写。我编辑了标题来描述您的确切问题。使用非常具体的标题有助于更多地关注这个问题。我改进了代码块的格式,列出了资源(中间的
/
不太清楚)还有大写缩写。我编辑了标题来描述您的确切问题。使用非常具体的标题有助于更多地关注这个问题。我改进了代码块的格式,列出了资源(中间的
/
不太清楚)以及大写缩写。