用php创建并发送doc(word)文件

时间:2018-06-03 14:10:15

标签: php email ms-word

我有一个网站,可以根据用户插入的详细信息构建简单的Word文件。 我需要创建Word文件并将其发送到电子邮件。 我知道如何使用电子邮件发送文件。 我知道如何使用php创建Word文件:

    <?php
  header("Content-type: application/vnd.ms-word");
  header("Content-Disposition: attachment;Filename=document_name.doc");    
  echo "<html>";
  echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
  echo "<body>";
  echo "<b>My first document</b>";
  echo "</body>";
  echo "</html>";
?>

例如,我接受同一用户的名字,只使用此名称创建Word文件,然后将该文件发送给emai。

但在我使用此代码之后,它只是上传文件。如何将此信息发送至电子邮件?

2 个答案:

答案 0 :(得分:0)

您是说您不知道如何将生成的Word文档放入物理文件中?然后,您可以使用已有的电子邮件代码?

如果上面的代码是生成Word文档的示例,那么您可以执行以下操作。

<?PHP

// Get the generated MS Word document data
$ms_word_data = file_get_contents("http://url.to.ms.word.create.file.php");

// Create a temporary file to use as email attachment
$word_temp_file = tmpfile();

// Write your generated MS Word data into the temporary file
fwrite($word_temp_file, $ms_word_data);

// Use the file in your E-Mail code
...
$attachment_file = $word_temp_file;
...


// When you have sent your E-Mail don't forget to do house keeping.
// This will close your filepointer but also delete the temporary
// file your have created.
fclose($word_temp_file);

?>

答案 1 :(得分:-1)

这可以通过PHPMailer实现,设置然后添加它以将特定的word文件附加到您的电子邮件中 您可以从[here] [1]

获取PHPMailer
$email = new PHPMailer();
$email->From      = 'youremail@xyz.com';
$email->FromName  = 'Name';
$email->Subject   = 'Sub';
$email->Body      = $body;
$email->AddAddress( 'recievers@email.com' );

$file_to_attach = 'PATH_OF_YOUR_FILE_HERE';

$email->AddAttachment( $file_to_attach , 'wordfile.txt' );

最后

return $email->Send();

这样您就可以将文件附加到电子邮件中。