2013-06-22 53 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