← 返回蜂巢洞察

如何从表单数据中生成 CSV 文件作为电子邮件附件发送

我写这篇文章是因为,在我们的日常编程中,我们做我们想与每个人分享的事情,以便通过 … Read More

Socrates

我写这篇文章是因为,在我们的日常编程中,我们做我们想与每个人分享的事情,以便通过互相帮助使编程更简单。

最近,我处理一项任务,我需要从窗体生成 CSV 文件,然后通过电子邮件发送该文件。我们还可以使用下面的方法将数据库生成的数据 CSV 文件通过电子邮件发送到电子邮件中。

让我们首先创建一个 HTML 表单,该表单将生成 CSV 文件。

<form>
  First name:<br>
  <input type="text" name="firstname">
  <br>
  Last name:<br>
  <input type="text" name="lastname">
   Email: <br>
  <input type="text" name="email">
</form>

让我们放置一些代码来创建 PHP 表单提交:

<?php
$email=$_POST['email'];
$firstName=$_POST['firstName'];
$lastName=$_POST['lastName'];

$to = "sample@ecomspark.com";
$subject = "Send Form data as CSV attachment and send email ";

$message = "".
"Email: $email" . "\n" .
"First Name: $firstName" . "\n" .
"Last Name: $lastName";

让我们编写 CSV 生成和 PHP 附件的代码:

<?php
//The Attachment

$cr = "\n";
$data = "Email" . ',' . "First Name" . ',' . "Last Name" . $cr;
$data .= "$email" . ',' . "$firstName" . ',' . "$lastName" . $cr;

$fp = fopen('file.csv','a');
fwrite($fp,$data);
fclose($fp);

//Make the attachment
$attachments[] = Array(
   'data' => $data,
   'name' => 'file.csv',
   'type' => 'application/vnd.ms-excel'
);


//Generate a boundary string

$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";


//Add the headers for a file attachment


$headers = "MIME-Version: 1.0\n" .
           "From: {$from}\n" .
     "Cc: emaito@domain.com\n".
           "Content-Type: multipart/mixed;\n" .
           " boundary=\"{$mime_boundary}\"";


//Add a multipart boundary above the plain message


$message = "This is a multi-part message in MIME format.\n\n" .
          "--{$mime_boundary}\n" .
          "Content-Type: text/html; charset=\"iso-8859-1\"\n" .
          "Content-Transfer-Encoding: 7bit\n\n" .
          $text . "\n\n";


//Add sttachments

foreach($attachments as $attachment){
   $data = chunk_split(base64_encode($attachment['data']));
   $name = $attachment['name'];
   $type = $attachment['type'];

   $message .= "--{$mime_boundary}\n" .
              "Content-Type: {$type};\n" .
              " name=\"{$name}\"\n" .              

              "Content-Transfer-Encoding: base64\n\n" .
              $data . "\n\n" ;
}

$message .= "--{$mime_boundary}--\n";
mail($to, $subject, $message, $headers);
?>

将上述代码放在一起,您将能够在 PHP 中生成和通过电子邮件发送 CSV 文件。请随时在评论部分提出任何问题

相关文章

技术实践

“放松与它在视觉中的作用”:这篇1977年完成的博士论文为现代人工智能研究的发展奠定了基础

当人们提到杰弗里·辛顿时,他们通常会想到反向传播算法、玻尔兹曼机、深度信念网络,以及那些彻底改变了人工智能发展的深度学习技术。 然而,很少有人会追溯到他科研生涯的起点。 1977年,在那篇著名的关于反向传播的论文发表之前的近十年时间里,辛顿在爱丁堡大学完成了他的博士论文,题为《松弛机制在视觉认知中的作用》。乍一看,这篇论文似乎只是探讨计算机视觉与松弛算法之间的关系。当我开始阅读它时,我也正是抱着这样的预期。 然而,在仔细研读之后,我意识到这篇论文涉及的远不止视觉算法。许多后来成为辛顿研究核心的理念,在当时就已经初具雏形。虽然当时的术语有所不同,数学表达也更为简单,神经网络也尚未成为他研究的重点

阅读全文