Css_Ufa
Мой дом здесь!
- Регистрация
- 25 Ноя 2008
- Сообщения
- 543
- Реакции
- 325
- Автор темы
- #1
Всем привет!
Есть форма обратной связи на php - сейчас она просто после заполнения отправляет отчет на почту.
Необходимо сделать, чтобы после формирование php файла, он конвертировался в excel файл и данный файл уже отправлялся на электронку.
Знаю, что конвертировать можно через PHPExcel.
Как мне реализовать отправление на почту данного файла?
И правильно ли я понял что мне придется сделать следующим образом (конвертация файла)
UPDATE
Нашел скрипт по отправлению вложенного файла, но как его совместить с данным php файлом. Помогите пожалуйста
Сам скрипт отправки:
Есть форма обратной связи на php - сейчас она просто после заполнения отправляет отчет на почту.
Необходимо сделать, чтобы после формирование php файла, он конвертировался в excel файл и данный файл уже отправлялся на электронку.
Знаю, что конвертировать можно через PHPExcel.
Как мне реализовать отправление на почту данного файла?
И правильно ли я понял что мне придется сделать следующим образом (конвертация файла)
Код:
<?php
/** Error reporting */
error_reporting(E_ALL);
/** Include path **/
ini_set('include_path', ini_get('include_path').';../Classes/');
/** PHPExcel */
include 'PHPExcel.php';
/** PHPExcel_Writer_Excel2007 */
include 'PHPExcel/Writer/Excel2007.php';
// Create new PHPExcel object
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();
// Set properties
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
// Add some data
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '$client1'); // $client1 - заполняет клиент в форме
$objPHPExcel->getActiveSheet()->SetCellValue('B2', '$client2');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '$client3');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', '$client4!');
// Rename sheet
echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('Simple');
// Save Excel 2007 file
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
// Echo done
echo date('H:i:s') . " Done writing file.\r\n";
UPDATE
Нашел скрипт по отправлению вложенного файла, но как его совместить с данным php файлом. Помогите пожалуйста
Сам скрипт отправки:
Код:
<?php
$filename = "form.txt"; //Имя файла для прикрепления
$to = "myrusakov@mail.ru"; //Кому
$from = "myrusakov@gmail.com"; //От кого
$subject = "Test"; //Тема
$message = "Текстовое сообщение"; //Текст письма
$boundary = "---"; //Разделитель
/* Заголовки */
$headers = "From: $from\nReply-To: $from\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
$body = "--$boundary\n";
/* Присоединяем текстовое сообщение */
$body .= "Content-type: text/html; charset='utf-8'\n";
$body .= "Content-Transfer-Encoding: quoted-printablenn";
$body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
$body .= $message."\n";
$body .= "--$boundary\n";
$file = fopen($filename, "r"); //Открываем файл
$text = fread($file, filesize($filename)); //Считываем весь файл
fclose($file); //Закрываем файл
/* Добавляем тип содержимого, кодируем текст файла и добавляем в тело письма */
$body .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode($filename)."?=\n";
$body .= "Content-Transfer-Encoding: base64\n";
$body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
$body .= chunk_split(base64_encode($text))."\n";
$body .= "--".$boundary ."--\n";
mail($to, $subject, $body, $headers); //Отправляем письмо
?>