У меня есть следующий фрагмент кода, который отлично работает, за исключением одной ошибки, которую я не могу устранить.
Здесь происходит две вещи, одна из которых преобразует данные mySQL в CSV и отправляет электронное письмо конкретному пользователю (работает нормально) и при успехе / неудаче повторяет сообщение.(где ошибка).
Когда я запускаю это, создается электронное письмо с нужной информацией, но я также вижу, что эхо-сообщения каждый раз загружаются в файл CSV.
Подскажите, пожалуйста, как я могу убедиться, что эхо-сообщения не загружаются в виде файлов CSV?
Вот код:
if(isset($_POST['sendmail'])) {
$emailtosend = $_POST['emailadd'];
$conn = mysqli_connect('localhost','root','','sample');
header ('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$filename = 'data.csv';
$output = fopen($filename, 'w');
fputcsv($output, array('ID','Product name','Product code', 'Unit price', 'Inventory')); //
$query = "SELECT * from products";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($result)) {
fputcsv($output, $row);
}
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'someone@gmail.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('one_other@gmail.com', 'Mailer');
$mail->addAddress($emailtosend, 'Joe User');
$mail->addReplyTo('info@example.com', 'Information');
$mail->addAttachment($filename);
$mail->isHTML(true);
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
fclose($output);
}
Первый раз, когда вы попробуете этои цените ваши мысли!
РЕДАКТИРОВАТЬ
Изменение $filename = 'data.csv';
на $filename = tempnam('/tmp', 'data_').'.csv';
, как выделено @ johannes