Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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 AjaxFileUpload插件无法检索$\u POST数据_Php_Javascript_Jquery_File Upload - Fatal编程技术网

Php AjaxFileUpload插件无法检索$\u POST数据

Php AjaxFileUpload插件无法检索$\u POST数据,php,javascript,jquery,file-upload,Php,Javascript,Jquery,File Upload,这几乎是相同的问题。我当时把它修好了,但现在它不工作了。嗯,有些是有效的 我用我的WP插件上传文件。这个插件调用uploader.php来处理上传表单 我可以使用$\u FILES['uploadFile']获取文件名(和其他数据),但无法检索$\u POST['current\u path']数据 不过我有一个理论。当我加载接口以上载数据时,隐藏的输入字段“current_path”为空(应该为空)。当我浏览文件夹时,隐藏的输入字段将使用jQuery进行更新 当我点击upload按钮时,Aja

这几乎是相同的问题。我当时把它修好了,但现在它不工作了。嗯,有些是有效的

我用我的WP插件上传文件。这个插件调用
uploader.php
来处理上传表单

我可以使用
$\u FILES['uploadFile']
获取文件名(和其他数据),但无法检索
$\u POST['current\u path']
数据

不过我有一个理论。当我加载接口以上载数据时,隐藏的输入字段“current_path”为空(应该为空)。当我浏览文件夹时,隐藏的输入字段将使用jQuery进行更新

当我点击upload按钮时,Ajax文件上传插件以上传形式获取数据,并通过
$\u POST
$\u文件
将数据传递到
uploader.php

但是,为什么我能够从
$\u文件
获取数据,而不能从
$\u POST
获取数据呢

这是我的密码:

Javascript

  //File upload functions
  // Remove feedback message on upload click 
    jQuery('.uploadImage').live('click',function() {
      ajaxFileUpload();
  });

  (...)

  //Lets upload the file by using Ajax uploader plugin
  function ajaxFileUpload() {
    alert(jQuery('input[type=hidden][name=current_path]').val()) //Shows me the correct current path   
    jQuery.ajaxFileUpload ( {
        url:'../wp-content/plugins/wp-filebrowser/uploader.php', 
        secureuri:false,
        fileElementId:'uploadFile',
        dataType: 'json',
        success: function (data) {
          if(data.error != '') {
              alert(data.error);
          } else {
              alert(data.respons);
          } 
        },
        error: function (e) {
            jQuery('#uploadOutput').addClass('error').html('Error: ' + e).show();
        },
        complete: function() {
          // Update file list
        }
      }
    )
    return false;   
  }
HTML

但是为什么我能够从$\u文件而不是从$\u POST获取数据呢

因为您没有提交表单,所以只提交文件输入元素

这似乎是插件的行为:

在这个黑客版本中,它只提交指定文件类型的输入元素,而不是整个表单

这两种方法都可以,也许会有帮助

但是为什么我能够从$\u文件而不是从$\u POST获取数据呢

因为您没有提交表单,所以只提交文件输入元素

这似乎是插件的行为:

在这个黑客版本中,它只提交指定文件类型的输入元素,而不是整个表单


这两种方法都可以,也许会有帮助。

妈的。你说得对。我还没有成功使用jQuery表单插件,但我会再尝试一次。你说得对。我还没有成功使用jQuery表单插件,但我会再尝试一次。
<form id="uploadForm" enctype="multipart/form-data" action="" method="POST">
    <input type="hidden" id="current_path" name="current_path" value="<?php echo $fb->relative_url; ?>" />
    <input id="uploadFile" name="uploadFile" type="file" />
    <input type="button" class="button uploadImage" value="<?php _e('Upload File') ?>" /> <br />
</form>
$this->current_path   = $_POST['current_path'];
$this->data['error']  = $_FILES['uploadFile']['name']; //Just for testing
$this->data['respons'] = "Filename: ".$_POST['current_path']; 

echo json_encode($this->data);