Php jQuery文件上载和获取$\u文件

Php jQuery文件上载和获取$\u文件,php,jquery,file-upload,Php,Jquery,File Upload,我正在使用jQuery插件来加载文件。我只想使用上传按钮来显示所选的文件,并且只在提交表单时上传文件。以下是我的代码: <form id="myform" method="post" enctype="multipart/form-data"> <span class="btn btn-success btn-mini fileinput-button"> <i class="icon-

我正在使用jQuery插件来加载文件。我只想使用上传按钮来显示所选的文件,并且只在提交表单时上传文件。以下是我的代码:

    <form id="myform" method="post" enctype="multipart/form-data">
                <span class="btn btn-success btn-mini fileinput-button">
                    <i class="icon-plus icon-white"></i>
                    <span>Add files</span>
                    <input  id="fileupload" type="file" name="files[]" multiple>
                    <button type="submit" id="start_uploads">Start uploads</button>
                </span>
    </form>

添加文件
开始上传
我可以使用以下代码创建列表:

$('#fileupload').fileupload({
        dataType: 'json',
        add: function (e, data) {
                           $.each(data.files, function (index, file) {
                              //alert('Added file: ' + file.name);
                                 $('<li/>').text(file.name).appendTo('#fileList');
                                            });

                                    },

                                });
$('#fileupload')。fileupload({
数据类型:“json”,
添加:功能(e、数据){
$.each(data.files,函数(索引,文件){
//警报(“添加的文件:”+文件名);
$('
  • ').text(file.name).appendTo('#fileList'); }); }, });
  • 但是当我提交表单时,我在$u文件或var_dump(文件)中没有得到任何东西;有谁能帮我摆脱我所缺少的,以及我如何才能做到这一点? 值得一提的是,如果清单中没有使用js代码,那么请务必获取包含所有选定文件的$\u FILES变量。

    
    
    <?php if(!empty($_FILES)):?>
        <?php echo json_encode($_FILES);?>
    <?php else:?>
        <!DOCTYPE HTML>
        <html>
            <head>
                <meta charset="utf-8">
                <title>jQuery File Upload Example</title>
                <link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap.min.css">
                <!-- Generic page styles -->
    
                <!-- Bootstrap styles for responsive website layout, supporting different screen sizes -->
                <link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-responsive.min.css">
                <!-- Bootstrap CSS fixes for IE6 -->
                <!--[if lt IE 7]><link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-ie6.min.css"><![endif]-->
                <!-- Bootstrap Image Gallery styles -->
                <link rel="stylesheet" href="http://blueimp.github.com/Bootstrap-Image-Gallery/css/bootstrap-image-gallery.min.css">
                <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
                <link rel="stylesheet" href="css/jquery.fileupload-ui.css">
            </head>
            <body>
                <input  id="fileupload" type="file" name="files[]" multiple>
                <button id="sendFiles">Send</button>
                <ul id="fileList"></ul>   
                <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
                <script src="js/vendor/jquery.ui.widget.js"></script>
                <script src="js/jquery.iframe-transport.js"></script>
                <script src="js/jquery.fileupload.js"></script>
                <script src="js/jquery.fileupload-ui.js"></script>
                <script>
                    $(function () {
                        var filesData;
                        $('#fileupload').fileupload({
                            dataType: 'json',
                            add: function (e, data) {
                                filesData = data;
                                $.each(data.files, function (index, file) {
                                    $('<li/>').text(file.name).appendTo('#fileList');
                                });
    
                            },
                            done: function (e, data) {
                                console.log(data);
                            }
    
                        });
    
                        $('#sendFiles').on('click', function () {
                            if (filesData) {
                                filesData.submit();
                            }
                        });
                    });
                </script>
            </body> 
        </html>
    <?php endif;?>
    
    jQuery文件上传示例 发送
      $(函数(){ var数据; $('#fileupload')。fileupload({ 数据类型:“json”, 添加:功能(e、数据){ filesData=数据; $.each(data.files,函数(索引,文件){ $('
    • ').text(file.name).appendTo('#fileList'); }); }, 完成:功能(e,数据){ 控制台日志(数据); } }); $('#sendFiles')。在('click',函数(){ 如果(文件数据){ filesData.submit(); } }); });
    • 基本上,您必须在函数
      add
      中调用数据对象的方法
      submit
      。然后您将获得
      数据
      对象,该对象以json字符串的形式包含
      $\u文件
      。您不必使用实际的表单通过此插件发送文件,但是您可以使用表单标记(就像在代码中一样)包装输入,以便允许没有JavaScript(是否存在?:)的用户也发送文件。
      如果您不想通过JavaScript发送文件,那么为了显示文件列表,您不必使用插件。您可以使用文件列表获取有关文件的信息

      您也可以发布您的php代码吗?如果($\u文件))var\u dump($\u文件);否则呼应“没有”;但是,您可以在此处检查整个代码: