乘以文件上传 - 输入由foreach处理的字段名称和文件信息

时间:2017-02-22 12:43:58

标签: php html foreach

我试着更具体,第一次尝试不是那样。

我想用php上传3张图片。我需要所有文件数据(名称,大小,tmp_name,类型)以及表单提交后当前输入字段的名称。

<input type="file" name="thisisaname"...>
<input type="file" name="thisisanothername"...>
<input type="file" name="thethirdname"...>

我需要在foreach中使用ImageInputname:

foreach($_FILES as $file)
{
$ImageName      = $file['name'];
$ImageSize      = $file['size'];
$TempSrc        = $file['tmp_name'];
$ImageType      = $file['type'];
$ImageInputName = ???
...
}

获取输入名称的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用此代码在php中上传多个文件。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
  <p><input type="file" name="file_array[]"></p>
  <p><input type="file" name="file_array[]"></p>
  <p><input type="file" name="file_array[]"></p>
  <input type="submit" value="Upload all files">
</form>
</body>
</html>

<?php
        if(isset($_FILES['file_array'])){
            $name_array = $_FILES['file_array']['name'];
            $tmp_name_array = $_FILES['file_array']['tmp_name'];
            $type_array = $_FILES['file_array']['type'];
            $size_array = $_FILES['file_array']['size'];
            $error_array = $_FILES['file_array']['error'];

            for($i = 0; $i < count($tmp_name_array); $i++){
                if(move_uploaded_file($tmp_name_array[$i], "test_uploads/".$name_array[$i])){
                    echo $name_array[$i]." upload is complete<br>";
                } else {
                    echo "move_uploaded_file function failed for ".$name_array[$i]."<br>";
                }
            }

        }
?>