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

问题描述 投票:1回答:2

我想将上传的文件地址从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";
}
?>

我想上传带有表单的文件

php html5
2个回答
0
投票

输入文件元素永远不会存储在$_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同名的输入文件数


0
投票

试试这个

<?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";
    }
}
?>
© www.soinside.com 2019 - 2024. All rights reserved.