将PHP页面的html响应返回到变量

时间:2013-07-02 14:58:53

标签: php html email include

我正在尝试使用通过另一个PHP文件创建的HTML生成一封电子邮件。

电子邮件生成文件由每小时运行一次的cron运行。 存在另一个生成电子邮件所需HTML的文件。

HTML生成文件没有我可以调用的函数,例如:

$emailBody = generateHTML($id);

HTML生成文件旨在包含在您希望显示HTML的页面上,例如:

include "htmlGenerator.php";

我的问题是:如何获取htmlgenerator.php文件返回变量的内容,准备将其推送到电子邮件中。

道歉,如果不是很清楚,我很乐意回答任何问题。

提前致谢!

2 个答案:

答案 0 :(得分:4)

如果我理解你所说的话,你可以使用output buffering, 这样你就可以获得htmlGenerator.php

的输出

例如:

ob_start();
// as an example
echo "Hello World";
// or in our case
include "htmlGenerator.php";
$result = ob_get_contents();
ob_end_clean();

你也可以创建一个这样的简单函数:

function include_output($filename)
{
    ob_start();
    include $filename;
    $contents = ob_get_contents();
    ob_end_clean();
    return $contents;
}

$mycontent = include_output("htmlGenerator.php");

阅读php文档以获取更多详细信息。

答案 1 :(得分:0)

查看内置函数ob_start和ob_get_clean。

然后您可以执行以下操作:

ob_start();
include( "file.php");
$var = ob_get_clean();