2016-07-20 2 views
0

Я хочу отправить E-mail с помощью php с вложением (файл CSV). он отлично работает, но я хочу сделать этот файл csv из данных одной из таблиц в моей базе данных. Как я могу это сделать?Получение данных из базы данных и отправка по электронной почте с помощью php

<?php 
    require_once('\PHPMailer-master\class.phpmailer.php'); 
    $email = new PHPMailer(); 
    $email->From = '[email protected]'; 
    $email->FromName = 'name'; 
    $email->Subject = 'Message Subject'; 
    $email->Body = "GO away"; 
    $email->AddAddress('[email protected]'); 

    header('Content-Type: text/csv; charset=utf-8'); 
    header('Content-Disposition: attachment; filename=data.csv'); 
    $output = fopen('php://output', 'w'); 
    fputcsv($output, array('serial', 'group','end')); 


    $rows = mysqli_query($db, 'SELECT * FROM list'); 
    while ($row = mysqli_fetch_assoc($rows)) { 
     fputcsv($output, $row); 
    } 
    fclose($output); 
    mysqli_close($db); 
    $file_to_attach = 'data.csv'; 
    $email->AddAttachment($output , 'data.csv'); 
    return $email->Send(); 
?> 
+0

в $ output вы должны открыть/создать файл типа «export.csv», который затем может быть прикреплен как ваш «data.csv», –

ответ

0

$output = fopen('php://output', 'w'); Изменить строку $output = fopen('data.csv', 'w');.

Это должно создать файл data.csv в каталоге вашего PHPscript. Очень важно иметь разрешения на запись для скрипта в этом каталоге.

Смежные вопросы