【问题标题】:Multiply file upload - input field name and file info processed by php foreach文件上传相乘 - 输入字段名称和 php foreach 处理的文件信息
【发布时间】:2017-07-12 12:34:03
【问题描述】:

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

我想用 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 = ???
...
}

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

【问题讨论】:

标签: php html foreach


【解决方案1】:

您可以使用此代码在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>";
                }
            }

        }
?>

【讨论】:

  • 你能解释一下这里发生了什么吗?
猜你喜欢
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多