Intereting Posts
CakePHP 3 – Parse Date с LocalStringFormat для исправления формата SQL и правильной проверки Шифрование в Javascript, дешифрование на PHP, использование криптографии с открытым ключом Как отменить этот массив и использовать повторяющиеся значения в качестве ключа в новом массиве WordPress использует UTF-8, а остальная часть моего сайта использует ISO-8859-1 – кодировку символов Запрещено У вас нет разрешения на доступ к этому серверу. Сервер не может читать файл htaccess, запрещающий доступ к безопасности Автоматическое удаление Max / Min из массива при создании Авто Отправка формы (cURL) Laravel 5: сначала отправьте ответ, затем обработайте запрос в контроллере Codeigniter $ this-> input-> post () пуст, пока $ _POST работает правильно Проблема с output_buffering и php.ini Возвращение сообщений WordPress с изображениями Fishpig в Magento Как обрезать HTML со специальными символами? Поддержание состояния между прогонами | Использование сеанса Изменение часового пояса в Codeigniter Сохранение разрывов строк – простой HTML DOM Parser

Вложение php из строки

У меня есть сценарий, генерирующий файл .pdf. Этот скрипт возвращает этот файл как строку, а затем я могу сохранить его с помощью file_put_contents ()

$output = $dompdf->output(); file_put_contents("myfile.pdf", $output); 

Я хочу добавить этот файл в качестве вложения в свой адрес электронной почты с помощью PHPMailer. Если у меня есть файл на диске, я просто пишу путь к нему и новое имя:

 $mail->addAttachment('/path/to/file.pdf', 'newname.pdf'); 

Но могу ли я добавить вложение без сохранения myfile.pdf на диск? Что-то вроде того:

 $mail->addAttachment($output, 'myfile.pdf'); 

Эта строка возвращает ошибку:

 PHP Fatal error: Call to a member function addAttachment() on a non-object 

Как преобразовать тип строки в тип файла без сохранения?

UPD: полный код

 $output = $dompdf->output(); $name = 'title.pdf'; $mail->isSMTP(); // Set mailer to use SMTP $mail->SMTPDebug = 2; $mail->Host = 'smtp.***.org'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = '***@***.orgg'; // SMTP username $mail->Password = '******************'; // SMTP password $mail->SMTPSecure = 'tls'; $mail->From = 'aaa@bbb.com'; $mail->FromName = 'John'; $mail->addAddress('peter@parker.com', 'Joe User'); // Add a recipient $mail->addStringAttachment($output, $name); // Set email format to HTML $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.'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent'; } 

Related of "Вложение php из строки"