如何将html表单中的数组发送到php

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将html表单中的数组发送到php相关的知识,希望对你有一定的参考价值。

我想将上传的文件地址从html发送到带有数组的php,然后将上传的文件移动到tmp中的图像并检查它们的大小

<form method="post" enctype="multipart/form-data" name="form1" id="form1" action="upload.php">
  <p>

    <input type="file" name="Img[]" />
  </p>
  <p>

    <input type="file" name="Img[]" />
</p>
  <p>

    <input type="file" name="Img[]" />
  </p>
  <p>
    <input type="submit" name="submit" id="submit" value="Submit">
  </p>
</form>
<?php
$name=rand('0123456789',5).'jpg';
$files=array($_POST['Img[]']);

echo '<pre>';
print_r($files);

if($_FILES['$files[0]']['type'] == 'image/pjpeg'){

    move_uploaded_file($_FILES[$files[]]['tmp_name'],'image/'.$name);
    echo "success";
}
?>

我想上传带有表单的文件

答案

输入文件元素永远不会存储在$_POST数组中。你必须循环通过$_FILES数组来获取文件元素

if(isset($_POST['submit']))
  {

    for ($i=0; $i < count($_FILES['Img']['tmp_name']) ; $i++) {
      $name=rand('0123456789',5);
      if($_FILES['Img']['type'][$i]  == 'image/jpeg')
      {
        move_uploaded_file($_FILES['Img']['tmp_name'][$i],'image/'.$name . '.jpg');
      }
      echo "success";
    }
}

在此解决方案中,您可以增加与Img同名的输入文件数

另一答案

试试这个

<?php
if(isset($_POST['submit']))
  {

    foreach($_FILES['Img'] as $Img) {
      $name=rand('0123456789',5);
      if($Img['type']  == 'image/jpeg')
      {
        move_uploaded_file($Img['tmp_name'],'image/'.$name . '.jpg');
      }
      echo "success";
    }
}
?>

以上是关于如何将html表单中的数组发送到php的主要内容,如果未能解决你的问题,请参考以下文章

将 HTML 表单数据数组发送到 JSP/Servlet

使用 php 将表单数据发送到 mysqli dtbs 失败(xampp 环境)

将表单数组发送到 Flask

如何使用表单(html)和php发送消息来发送消息?

将php多维数组输出到html表

如何将 ByteArray(来自 Flash)和一些表单数据发送到 php?