Я делаю почтовое приложение, которое я использую для отправки счетов, у меня есть шаблон счета электронной почты в формате HTML.
<?php
include 'dbconfig.php';
$q = intval($_GET['q']);
$sql="SELECT * FROM clients WHERE id = '".$q."'";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)) {
$to = "name@example.com";
$subject = "Invoice Test " . date('m/d/Y h:i:s a', time());
$invoice = fopen("invoice.html", "r") or die("Unable to open invoice template file");
$message = fread($invoice, filesize("invoice.html"));
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: billing@example.com' . "\r\n";
$headers .= 'BCC: billing@example.com' . "\r\n";
mail($to,$subject,$message,$headers);
echo $message;
fclose ($invoice);
}
mysqli_close($conn);
?>
Этот код работает отлично, однако я хочу запустить код PHP в файле шаблона, например <? echo $row[id]; ?>
, чтобы заполнить пробелы шаблона данными из вызова MySQL.Как я могу это сделать?fopen не запускает код PHP.Вроде как require_once
, но где я могу использовать его в этом приложении.
Если это невозможно, я просто прибегну к включению index-template.php в основной документ, а затем отформатирую этот вторичный документ.на $message = ' <html code> ';
- это просто усложняет обновление шаблона.