【问题标题】:php sending file without extension to emailphp将没有扩展名的文件发送到电子邮件
【发布时间】:2012-05-02 18:09:16
【问题描述】:

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

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

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

我遇到的问题是我想稍后通过电子邮件将文档发送到电子邮件地址。我喜欢指定原始名称,包括文件的扩展名。

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

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

【问题讨论】:

  • 您应该包含代码/您尝试过的内容。
  • 好的。你知道该做什么。什么不起作用?
  • 就是这样。我不知道这是怎么做到的。
  • @PLB 我试图忽略这一点。我能做的另一件事是复制文件临时位置重命名它,然后附加到电子邮件,然后删除该文件。
  • @Lalajee 不错的主意,但如果你知道该怎么做,问题出在哪里?

标签: php mysql


【解决方案1】:

使用phpmailer AddStringAttachment

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

【讨论】:

  • 我决定使用 Rmail。效果很好。谢谢。
【解决方案2】:

代码

  <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 对应的地址。

消息可能如下所示。

亲爱的约翰·多伊, 新文件已发送,它将保存在上传文件中。 谢谢, 自动化系统

【讨论】:

    猜你喜欢
    • 2022-11-20
    • 2011-01-05
    • 2020-08-16
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2020-02-08
    • 2012-08-18
    • 2012-08-13
    相关资源
    最近更新 更多