@TommyAngel

Как отправить результат генерации excel через phpmailer?

Добрый день!
Подскажите, есть код в файле exel.php

<?PHP
function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
 // Имя загружаемого файла файла. 
 //В моём примере получится otched_20150331.xls
$filename = "otchet_" . date('d-m-Y') . ".xls";
 
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
 
// Подключение к бд
mysql_connect ("11111","1","1");// Хост юзер и пароль
mysql_select_db("1") or die (mysql_error());// Имя базы данных
 
 
//Указать кодировку выводимых данных
mysql_query('SET character_set_database = cp1251_general_ci'); 
mysql_query ("SET NAMES 'cp1251'");


//запрос и вывод данных
$listdate = date('Y-m-d');
$flag = false;
 $result = mysql_query("SELECT number, login, time, operation, status, comment FROM history WHERE date='$listdate'") 
 or die('Запрос не выполнен!');
function utf8to1251(&$text) {
$text = iconv("utf-8", "windows-1251", $text); //without return
}
$arr = array('Заявка', 'Инженер', 'Время', 'Действие', 'Статус', 'Комментарий');
array_walk_recursive($arr, "utf8to1251");
echo implode("\t", $arr) . "\r\n";
while(false !== ($row = mysql_fetch_assoc($result))) {
//Вывод данных столбцов
array_walk($row, 'cleanData');
echo implode("\t", array_values($row)) . "\r\n";
}
exit;
?>


Скрипт работает исправно, при выполнении выгружает все в exel.

Есть установленный php-mailer

Есть скрипт:
$msg  = "<html><body>";
$msg .= "<p>Текст</p>\r\n";
$msg .= "<p>Текст</p>\r\n";
$msg .= "</body></html>";

require "phpmailer/class.phpmailer.php";
require "phpmailer/class.smtp.php";

$mail = new PHPMailer;

// Настройки SMTP
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.mail.ru';
$mail->SMTPAuth = true;
$mail->Username = '';
$mail->Password = '';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
 
$mail->CharSet = 'UTF-8';
 
$mail->setFrom(''); // от кого будет уходить письмо
$mail->FromName = "Имя"; // от кого будет уходить письмо Имя
$mail->addAddress(''); // Кому будет уходить письмо  
$mail->Subject = ""; //Тема
$mail->addAttachment($_FILES['upload']['tmp_name'], $_FILES['upload']['name']); // вложение
$mail->MsgHTML($msg);
$mail->send();


Скажите как отправить выгрузку из excel.php на почту?
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы