2017-04-02 72 views
-1

我得到一个凌乱的使用PHP的$_FILES数组。

我得到这个:

Array([data] => 
    Array(
     [name] => Array ([T1] => Array ([V1] => dummy.jpg)) 
     [type] => Array ([T1] => Array ([V1] => image/jpeg)) 
     [tmp_name] => Array ([T1] => Array ([V1] => /tmp/domains/bc3/phpIPIlOG)) 
     [error] => Array ([T1] => Array ([V1] => 0)) 
     [size] => Array ([T1] => Array ([V1] => 89682)) 
    ) 
) 

我想这一点:

Array ([data] => 
    Array ([T1] => 
     Array ([V1] => 
      Array ( 
       [name] => dummy.jpg 
       [type] => image/jpeg 
       [tmp_name] => /tmp/domains/bc3/phpIPIlOG 
       [error] => 0 
       [size] => 89682 
      ) 
     ) 
    ) 

的HTML表单字段的名称是:数据[T1] [V1]

我正在寻找一个通用的PHP解决方案,可以上传多个文件和不同的命名结构。

+0

你可以分享你的HTML吗? –

+0

我不想更改HTML。 –

+0

那么你想在'php'中操作'$ _FILES'到你需要的输出吗? –

回答

1

尝试this function

function rearrange_files($arr) 
{ 
    foreach($arr as $key => $all) 
    { 
     foreach($all as $i => $val) 
     { 
      $new_array[$i][$key] = $val;  
     }  
    } 
    return $new_array; 
} 

$newFiles = rearrange_files($_FILES); 
+0

这适用于输入/名称数组上的两个级别的示例。问题是如果有更多的水平。基本上,制作硬编码解决方案很容易。我们面临的挑战是为通用解决方案重新排序无用的$ _FILES命名结构。 –