如何使用PHP和HTML表单将文件名发送到我的Gmail?

时间:2017-03-31 07:40:22

标签: php html forms sendmail

我想如果有人上传文件,请将文件名称输入我的gmail。例如,我希望您收到电子邮件到达" FileName:background.jpg"

PHP代码:

<?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], "uploads/".$name_array[$i])){
            header("Location:");
         }
      }
   }
?>

我试图这样:

<?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'];
      $za = "mygmail@gmail.com";
      $od  = "Od: " . $Email . "\r\n";
      $info .= "FileName:" .$name_array. "\r\n";
         for($i = 0; $i < count($tmp_name_array); $i++){
           if(move_uploaded_file($tmp_name_array[$i], "uploads/".$name_array[$i])){
              header("Location:");
              mail($za, $od, $info);
           }
        }
    }
?>

但我刚接到邮件&#34; FileName:array&#34;。

HTML code:

<form class="contact_form" action="../assets/php/postavi_oglas.php" method="post" enctype="multipart/form-data">
    <label>Izaberite fotografije:</label>
    <input class="contact_area" type="file" name="file_array[]">
    <input class="contact_area" type="file" name="file_array[]">
    <input class="contact_area" type="file" name="file_array[]">
    <input class="contact_area" type="file" name="file_array[]">
    <input class="contact_area" type="file" name="file_array[]">
    <input class="btn btn-theme" type="submit" value="Posalji Fotografije">  
</form>

2 个答案:

答案 0 :(得分:1)

它表示数组,因为它是数组,需要在循环中

for($i = 0; $i < count($tmp_name_array); $i++){
    if(move_uploaded_file($tmp_name_array[$i], "uploads/".$name_array[$i])){
    // a array      
     $fname=$name_array[$i];
     $info= "FileName:" .$fname. "\r\n";     
     header("Location:");
     mail($za, $od, $info);
       }

答案 1 :(得分:0)

你在这里有阵列,因为你在邮件中发送了一个。只需像下面的代码一样使用它,只发送电子邮件而不是一个电子邮件。我更喜欢这种行为。

 $info = ''; 

 for($i = 0; $i < count($tmp_name_array); $i++){
    if(move_uploaded_file($tmp_name_array[$i], "uploads/".$name_array[$i])){
       $info .= 'Filename '.$i.': '.$name_array[$i]. "\r\n";
    }
 }

 mail($za, $od, $info);
 header("Location:");