dongzha0149
dongzha0149
2019-04-20 12:57
浏览 243
已采纳

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

I want to send uploaded files address from html to php with array and then moved the uploaded files to images from tmp and checked their size

<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";
}
?>

I want to upload files with form

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • douduan5086
    douduan5086 2019-04-20 13:38
    已采纳

    Input file elements never store in the $_POST array. You have to loop through the $_FILES array to get the file elements

    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";
        }
    }
    

    In this solution you can increase the number of input files with the same name as Img

    点赞 评论
  • duanchuopi2298
    duanchuopi2298 2019-04-20 15:39

    Try this

    <?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";
        }
    }
    ?>
    
    点赞 评论

相关推荐