Создать и отправить файл документа (Word) с php - PullRequest
0 голосов
/ 03 июня 2018

У меня есть веб-сайт, который создает простые файлы Word из деталей, которые пользователи вставляют.Мне нужно создать файлы Word и отправить их по электронной почте.Я знаю, как отправлять файлы по электронной почте.Я знаю, как создавать файлы Word с php:

    <?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 голосов
/ 04 июня 2018

Вы имеете в виду, что не знаете, как поместить сгенерированный документ 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);

?>
0 голосов
/ 03 июня 2018

Этого можно достичь с помощью PHPMailer, настройте его, затем добавьте, чтобы прикрепить определенный файл слов к вашей электронной почте. Вы можете получить PHPMailer [здесь] [1]

$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();

Таким образом, вы можете прикрепить файл к письму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...