php发送文件没有扩展名到电子邮件

时间:2012-05-02 18:09:16

标签: php mysql

我有用户上传文件到我的网络服务器的页面,无需扩展即可保存。

例如example.doc将保存为当前时间(1234567890)但没有扩展名。

这项工作正常我没有这个问题。

我遇到的问题是我希望稍后通过电子邮件将文件发送到电子邮件地址。我想分配原始名称,包括文件的扩展名。

所有数据都保存在我的数据库中。 。的名称和扩展名。

所以例如我喜欢将此文件“1234567890”作为example.doc发送到电子邮件地址。

2 个答案:

答案 0 :(得分:1)

使用phpmailer AddStringAttachment

http://phpmailer.worxware.com/index.php?pg=tutorial#3.2

答案 1 :(得分:0)

<强> CODE

  <html>
   <head>
    <title>My First File Sender</title>
   <meta charset="utf8 ">
  </head>
    <body>

    <?php
      if (!isset($_POST["file"]))
       {
         echo '<form method="POST" action="upload.php" enctype="multipart/form-data"><input type="file" name="fileToUpload" id="fileToUpload"><br><input type="submit" value="Send File"></form>';
      }else {
       /*
        Settings start here
       */
       $target_dir = "files/";
       $name = "John Doe";
       $email = "johndoe@freemail.net";
       $subject = "New File";
       /*
       Settings end here
      */
       $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
       $uploadOk = 1;
       $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
       $msg = '
       Dear  ' . $name . ',<br>
      A new file has been sent, it will be saved in the uploads file.<br><br>

   Thank you,<br>
   Automated System
    ';
      mail($email,$subject,$msg);
      echo "Thank You.";
      }

     ?>




  </body>
  </html>

如何运作

浏览器将检查您是否已添加文件。

如果不是:

它会提示您选择一个文件。

如果为真:

它会将文件上传到$target_dir等于。

然后发送电子邮件至$email等于。

该消息可能如下所示。

Dear John Doe,
A new file has been sent, it will be saved in the uploads file.


Thank you,
Automated System