2013-05-04 5 views
0

Я хотел бы отправить содержание веб-страницы, которая выглядит как:Почтовый содержание HTML с PHP

<html> 

    <body> 

    <?php 

    function sendPageContentToEmail($destEmail) 
    { 
     ob_start(); 
     $buffer = ob_get_contents(); 
     ob_end_clean(); 

     $subject = 'Subject name'; 

     mail($destEmail, $subject, $buffer); 
     } 
    ?> 

    <div style="width:400px; margin:0 auto;"> 

    <p> 
     Name: <?php print($customerData['customer_name']); ?> 
     </p> 

    <p> 
     .... 
     </p> 

</div> 


</body> 
</html> 

    <?php 

    sendPageContentToEmail($customerData['customer_email']); 

    //erase all temp data 
    session_destroy(); 
    ?> 

$ буфер всегда пуст (ob_get_content()) независимо от того, где называется sendPageContentToEmail(). Где эта функция должна быть вызвана (при условии, что это правильный способ сделать это)?

ответ

2

Что ob_start делает, это начало кэширования всего выходного файла, поэтому, если вы выведете что-то перед его вызовом, эта часть не будет кэшироваться.

Просто в самом начале, перед тем <html> сделать <?php ob_start(); ?>

+0

Got отрезан, извините - до тега HTML, сделайте ob_start(). – elvena

+0

Вы можете отредактировать свой ответ, чтобы включить эту последнюю часть BTW x –

+0

О, спасибо Elisa :) – elvena

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