2017-07-18 74 views
0

我有一个HTML表单发送到PHP脚本与“后”方法(没有涉及Ajax)。

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

现在在我的PHP脚本我有一个PHP foreach循环通过发送文件循环:

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

在这个循环我希望能够使用当前文件数组名(等于名义当然上传的上传的属性),所以我treid:

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, 自我意识

+0

使用'print_r'或'var_dump'进行调试。 'print'只能与字符串一起使用。 – colburton

+0

foreach($ _ FILES as $ key => $ file){ echo $ key; } –

+0

分享形式代码 – C2486

回答

2

这如果我正确理解你的问题,可能是你在找什么。

foreach($_FILES as $key => $value) { 
    echo $key; 
} 

我可以理解这个问题的唯一方法是如果你错误地使用打印。要使用其所有数据打印对象/数组,您可以使用var_dump而不是print

+0

它猜测它会起作用,但之后我将无法在循环中使用诸如$ file [name]之类的东西。我对吗? – mondi

+0

您一定能够访问该循环内的数组值。在我的例子中,它看起来像这样'echo $ value ['name'];'因为'$ value'引用'$ _FILES'中的数组,而'$ key'只引用数组的名称。 –

+0

太棒了!谢谢!终于得到了(有点...... :) – mondi

1

我希望你正在寻找解压您的钥匙

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

谢谢,我已经看到了另一个第一(我想这与Stackoverflow的工作方式有关),并添加一些评论,所以我接受它,但我没有投票你也。非常感谢你! – mondi

+0

谢谢兄弟:) –