获取PHP $ _FILES数组名

时间:2017-07-18 17:16:09

标签: php arrays forms post

我有一个html表单,使用“post”方法发送到php脚本(不涉及ajax)。

在表单中,我有一些type="file"字段。

现在在我的php脚本中,我有一个循环浏览已发送文件的php foreach循环:

foreach($_FILES as $file) {
// Some checks and actions.
}

在那个循环中,我希望能够使用当前文件数组名称(它等于填充的上传的名称属性,当然是从上传的),所以我很喜欢:

foreach($_FILES as $file) {
// Some checks and actions.
print ($file);
}

但这只是回应“数组”。

重要提示: 我的$ _FILES数组结构如下:

Array
(
    [_pf_photo1] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

    [_pf_photo2] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

    [_pf_photo3] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

    [_pf_photo4] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

    [_pf_photo5] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

    [selfimage] => Array
        (
            [name] => IMG_9785.JPG
            [type] => image/jpeg
            [tmp_name] => /tmp/phpWMOKhn
            [error] => 0
            [size] => 104221
        )

)

$_FILES可以采用另一种方式构建,以便明确说明。所以在那个例子中我想要进入循环(对于数组名称部分)是:

  

_pf_photo1,   _pf_photo2,   _pf_photo3,   _pf_photo4,   _pf_photo5,   自我意识

2 个答案:

答案 0 :(得分:2)

如果我正确理解你的问题,这可能就是你要找的。

public class Produto
{
    public int ProdutoId { get; set; }
    public string Descricao { get; set; }
    public decimal Preco { get; set; }
    public int MarcaId { get; set; }     

    public virtual Marca Marca { get; set; }
}

我能理解这个问题的另一种方法是你是否错误地使用了print。要打印出包含所有数据的对象/数组,您可以使用 var_dump 而不是打印

答案 1 :(得分:1)

我希望您提取密钥

foreach ($_FILES as $key => $file) { 
  echo $key; // print your array key
  echo $file['name']; // print your name inside that array
}