渲染Php文件然后将其作为html返回

时间:2013-12-21 18:38:32

标签: php html email

我试图渲染一个php文件然后将其作为html返回以发送电子邮件,我将如何进行此操作?以下是我使用的代码示例:

public function setPHP($php)
{
    ob_start();
    $phpsend = ( include $php );
    $this->html = (string) ob_get_contents();
    ob_end_clean();
}

以下是我调用该函数的方法。

    $php = file_get_contents( NHM_PLUGIN_DIR . 'assets/templates/newhomesguide.php' );
    $css = file_get_contents( NHM_PLUGIN_DIR . 'assets/css/email_template.css' );

    $cssToInlineStyles->setPHP($php);
    $cssToInlineStyles->setCSS($css);

我试图通过Tijs Verkoyen修改CSSToInlineStyles,它用html内联css,我只是尝试做同样的事情但是使用了具有功能的php文件。

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为你非常接近。我就是这样做的。评估的文件将在$this->html中,并且在评估后将立即发送到输出流。

public function setPHP($php)
{
    if(!file_exists($php)) // Some error handling here maybe?
      die('File ' . $php . ' DNE');

    // Eval the $php file and store it in a variable
    ob_start();
    include $php;
    $this->html = ob_get_clean();

    // Send the evaluated file to the output stream
    echo $this->html;
}