2016-04-28 67 views
0

我有发送多个文件的问题,对于一个文件它的工作原理,对于多个不是,我应该如何处理这段代码?用php和html5格式发送多个文件

if(isset($_FILES['pliki'])){ 
    $errors= array(); 
    $file_name = $_FILES['pliki']['name']; 
    $file_size =$_FILES['pliki']['size']; 
    $file_tmp =$_FILES['pliki']['tmp_name']; 
    $file_type=$_FILES['pliki']['type']; 
    $file_ext=strtolower(end(explode('.',$_FILES['pliki']['name']))); 

    $expensions= array("jpeg","jpg","png","docx","doc","pdf"); 

    if(in_array($file_ext,$expensions)=== true){ 
     move_uploaded_file($file_tmp,"../../site/assets/files/".$pp->id."/".strtolower($sanitizer->name($file_name))); 
     $pp->pliki->add($file_name); 
    } 
} 

我的输入是这样的:所以你需要通过他们循环

<input type="file" id="pliki" name="pliki[]" multiple> 
+0

遍历'$ _FILES'和访问这些文件作为'$ FILES [ 'pliki'] [] [ '名']' – nikamanish

回答

0

$_FILES['pliki']将是一个数组。我会使用类似:

$extensions = array("jpeg","jpg","png","docx","doc","pdf"); 
//extensions < spelling changed from yours 

foreach($_FILES['pliki'] as $i => $file){ 
    $file_name = $file['name']; 
    $file_size =$file['size']; 
    $file_tmp =$file['tmp_name']; 
    $file_type=$file['type']; 
    $file_ext=strtolower(end(explode('.',$file_name))); 
    //and whatever else you want to check for each file 
}