2013-06-22 251 views
2

我使用单一上传文件使用PHP。现在我正在用多文件上传文件。
我发现一个问题Why don't added records appear in grid?也许这是我发现的最好的多上传文件。我的代码在这里http://jsfiddle.net/VQQea/Extjs - 多文件上传文件

    var form = Ext.getCmp('form').getForm(); 
        if(form.isValid()){ 
         form.submit({ 
          method: 'POST', 
          url: 'example.php', 
          success: function(fp, o) { 
          } 
         }); 
        }else { 
         alert('fail'); 
        } 

但我不知道PHP文件怎么样。
任何人都可以告诉我一个PHP文件上传多文件上面非常感谢:)。

编辑:。
我下面的代码将上传后的文件(不支持多文件:()我如何上传多文件感谢

<?php 
    if(isset($_FILES['fileuploadfield-1017-inputEl'])) { 
     $file_name = $_FILES['fileuploadfield-1017-inputEl']['name']; 
     $file_tmp =$_FILES['fileuploadfield-1017-inputEl']['tmp_name']; 

     move_uploaded_file($file_tmp,$file_name); 

     echo "{success:true}"; 
    }else { 
     echo "{failure:true}"; 
    } 
?> 

回答

0
Ext.define('Ext.ux.form.MultiFile', { 
    extend: 'Ext.form.field.File', 
    alias: 'widget.multifilefield', 

    initComponent: function() { 
     var me = this; 

     me.on('render', function() { 
      me.fileInputEl.set({ multiple: true }); 
     }); 

     me.callParent(arguments); 
    }, 

    onFileChange: function (button, e, value) { 
     this.duringFileSelect = true; 

     var me = this, 
      upload = me.fileInputEl.dom, 
      files = upload.files, 
      names = []; 

     if (files) { 
      for (var i = 0; i < files.length; i++) 
       names.push(files[i].name); 
      value = names.join(', '); 
     } 

     Ext.form.field.File.superclass.setValue.call(this, value); 

     delete this.duringFileSelect; 
    } 
}); 

多个上传的ExtJS的现场演示4.2.2是here