Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once './config.php'; // подключаем скрипт
- use DompdfDompdf;
- if($_POST){
- // подключаемся к серверу
- $link = mysqli_connect($host, $user, $password, $database)
- or die("Ошибка " . mysqli_error($link));
- // экранирования символов для mysql
- $name = htmlentities(mysqli_real_escape_string($link, $_POST['name']));
- $age = htmlentities(mysqli_real_escape_string($link, $_POST['age']));
- $sex = htmlentities(mysqli_real_escape_string($link, $_POST['sex']));
- $email = htmlentities(mysqli_real_escape_string($link, $_POST['email']));
- $phone = htmlentities(mysqli_real_escape_string($link, $_POST['phone']));
- // создание строки запроса
- $query ="INSERT INTO run_people (id ,name, age, sex, email, phone)
- VALUES (NULL, '$name','$age', '$sex', '$email','$phone')";
- // выполняем запрос
- $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
- $id_query ="SELECT MAX(id) FROM run_people ";
- $result = mysqli_query($link, $id_query) or die("Ошибка " . mysqli_error($link));
- $rows = mysqli_num_rows($result); // количество полученных строк
- while ($row = mysqli_fetch_row($result)) {
- $id .= "$row[0]";
- }
- $name_query ="SELECT name FROM `run_people` WHERE id = (select max(id) from run_people)";
- $result = mysqli_query($link, $name_query) or die("Ошибка " . mysqli_error($link));
- $rows = mysqli_num_rows($result); // количество полученных строк
- while ($row = mysqli_fetch_row($result)) {
- $name .= "$row[0]";
- }
- $html = '<html>'
- .'<body>'
- .'<style>header,img{width:80%;height:200px}body,html{padding:0!important;margin:0!important}body{font-family:DejaVu Sans;padding:0;margin:0}h1,header h2{text-align:center}header,img{margin:0 0 0 30px}header{display:block;position:relative;background:url(img/bg_pdf_head.jpg) top center no-repeat;padding:50px 0 0;background-size:100%}header h2{font-size:60px;margin:0 auto;display:block}h1{font-size:203px;margin:0 0 31px 30px;width:80%}</style>'
- .'<header>'
- .'<h2>'. $name .'</h2>'
- .'</header>'
- .'<h1>'. $id .'</h1>'
- .'<img src="./img/bg_pdf_footer.jpg">'
- .' </body>'
- .'</html>';
- $dompdf = new DOMPDF();// Создаем обьект
- $dompdf->loadHtml($html);
- $dompdf->setPaper('A4', 'landscape');
- $dompdf->render();
- $output = $dompdf->output(0);
- file_put_contents("./file.pdf", $output);
- }
- // пример использования
- $file = "./file.pdf"; // файл
- $mailTo = 'runo1194@gmail.com'; // кому
- $from = 'runo1194@gmail.com'; // от кого
- $subject = "Test file"; // тема письма
- $message = "Тестовое письмо с вложением"; // текст письма
- $r = sendMailAttachment($mailTo, $from, $subject, $message, $file); // отправка письма c вложением
- echo ($r)?'Письмо отправлено':'Ошибка. Письмо не отправлено!';
- //$r = sendMailAttachment($mailTo, $from, $subject, $message); // отправка письма без вложения
- //echo ($r)?'Письмо отправлено':'Ошибка. Письмо не отправлено!';
- function sendMailAttachment($mailTo, $from, $subject, $message, $file = false){
- $separator = "---"; // разделитель в письме
- // Заголовки для письма
- $headers = "MIME-Version: 1.0rn";
- $headers .= "From: $fromnReply-To: $fromn"; // задаем от кого письмо
- $headers .= "Content-Type: multipart/mixed; boundary="$separator""; // в заголовке указываем разделитель
- // если письмо с вложением
- if($file){
- $bodyMail = "--$separatorn"; // начало тела письма, выводим разделитель
- $bodyMail .= "Content-type: text/html; charset='utf-8'n"; // кодировка письма
- $bodyMail .= "Content-Transfer-Encoding: quoted-printable"; // задаем конвертацию письма
- $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=nn"; // задаем название файла
- $bodyMail .= $message."n"; // добавляем текст письма
- $bodyMail .= "--$separatorn";
- $fileRead = fopen($file, "r"); // открываем файл
- $contentFile = fread($fileRead, filesize($file)); // считываем его до конца
- fclose($fileRead); // закрываем файл
- $bodyMail .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode(basename($file))."?=n";
- $bodyMail .= "Content-Transfer-Encoding: base64n"; // кодировка файла
- $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=nn";
- $bodyMail .= chunk_split(base64_encode($contentFile))."n"; // кодируем и прикрепляем файл
- $bodyMail .= "--".$separator ."--n";
- // письмо без вложения
- }else{
- $bodyMail = $message;
- }
- $result = mail($mailTo, $subject, $bodyMail, $headers); // отправка письма
- return $result;
- }
- <?php
- require_once 'dompdf/autoload.inc.php';
- require_once './config.php'; // подключаем скрипт
- use DompdfDompdf;
- error_reporting(E_ALL & ~E_NOTICE);
- if($_POST){
- // подключаемся к серверу
- $link = mysqli_connect($host, $user, $password, $database)
- or die("Ошибка " . mysqli_error($link));
- // экранирования символов для mysql
- $username = htmlentities(mysqli_real_escape_string($link, $_POST['name']));
- $age = htmlentities(mysqli_real_escape_string($link, $_POST['age']));
- $sex = htmlentities(mysqli_real_escape_string($link, $_POST['sex']));
- $email = htmlentities(mysqli_real_escape_string($link, $_POST['email']));
- $phone = htmlentities(mysqli_real_escape_string($link, $_POST['phone']));
- // создание строки запроса
- $query ="INSERT INTO run_people (id ,username, age, sex, email, phone)
- VALUES (NULL, '$username','$age', '$sex', '$email','$phone')";
- // выполняем запрос
- $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
- $id_query ="SELECT MAX(id) FROM run_people ";
- $result = mysqli_query($link, $id_query) or die("Ошибка " . mysqli_error($link));
- $rows = mysqli_num_rows($result); // количество полученных строк
- while ($row = mysqli_fetch_row($result)) {
- $id .= "$row[0]";
- }
- $id;
- $html = '<html>'
- .'<body>'
- .'<style>span h2,span h3{transform:rotate(270deg)}div,header,span,span h2,span h3{position:relative;display:block}header h2,span h2,span h3{display:block}div,h1,header,img{width:850px}h1,header h2,span h2,span h3{text-align:center}header,img{height:200px;margin:0 0 0 30px}body,html{padding:0!important;margin:0!important}body{font-family:DejaVu Sans;padding:0;margin:0}header{background:url(img/bg_pdf_head.jpg) top center no-repeat;padding:50px 0 0;background-size:100%}header h2{font-size:60px;margin:0 auto}h1{font-size:203px;margin:0 0 31px 30px}div{float:left}span{float:right;background:url(img/bg_pdf_right.jpg) 100% 100% no-repeat;background-size:cover;height:793px;width:220px}span h2{font-size:70px;margin-top:80px}span h3{font-size:30px;margin-top:250px}</style>'
- .'<div>'
- .'<header>'
- .'<h2>'. $username .'</h2>'
- .'</header>'
- .'<h1>'. $id .'</h1>'
- .'<img src="./img/bg_pdf_footer.jpg">'
- .'</div>'
- .'<span>'
- .'<h3>'.$username
- .'</h3>'
- .'<h2>'. $id .'</h2>'
- // .'<img src="./img/bg_pdf_right.jpg" width="100%">'
- .'</span>'
- .' </body>'
- .'</html>';
- $dompdf = new DOMPDF();// Создаем обьект
- $dompdf->loadHtml($html);
- $dompdf->setPaper('A4', 'landscape');
- $dompdf->render();
- $output = $dompdf->output(0);
- file_put_contents("./file.pdf", $output);
- mysqli_close($link);
- }
- $file = "./file.pdf"; // файл
- $mailTo = 'runo1194@gmail.com'; // кому
- $from = 'runo1194@gmail.com'; // от кого
- $subject = "Test file"; // тема письма
- $message = "Тестовое письмо с вложением"; // текст письма
- $separator = "---"; // разделитель в письме
- // Заголовки для письма
- $headers = "MIME-Version: 1.0rn";
- $headers .= "From: $fromnReply-To: $fromn"; // задаем от кого письмо
- $headers .= "Content-Type: multipart/mixed; boundary="$separator""; // в заголовке указываем разделитель
- // если письмо с вложением
- if($file){
- $bodyMail = "--$separatorn"; // начало тела письма, выводим разделитель
- $bodyMail .= "Content-type: text/html; charset='utf-8'n"; // кодировка письма
- $bodyMail .= "Content-Transfer-Encoding: quoted-printable"; // задаем конвертацию письма
- $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=nn"; // задаем название файла
- $bodyMail .= $message."n"; // добавляем текст письма
- $bodyMail .= "--$separatorn";
- $fileRead = fopen($file, 'r');
- $contentFile = fread($fileRead, filesize($file)); // считываем его до конца
- fclose($fileRead); // закрываем файл
- $bodyMail .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode(basename($file))."?=n";
- $bodyMail .= "Content-Transfer-Encoding: base64n"; // кодировка файла
- $bodyMail .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode(basename($file))."?=nn";
- $bodyMail .= chunk_split(base64_encode($contentFile))."n"; // кодируем и прикрепляем файл
- $bodyMail .= "--".$separator ."--n";
- // письмо без вложения
- }
- $result = mail($mailTo, $subject, $bodyMail, $headers); // отправка письма
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement