我正在尝试使用通过另一个PHP文件创建的HTML生成一封电子邮件。
电子邮件生成文件由每小时运行一次的cron运行。 存在另一个生成电子邮件所需HTML的文件。
HTML生成文件没有我可以调用的函数,例如:
$emailBody = generateHTML($id);
HTML生成文件旨在包含在您希望显示HTML的页面上,例如:
include "htmlGenerator.php";
我的问题是:如何获取htmlgenerator.php文件返回变量的内容,准备将其推送到电子邮件中。
道歉,如果不是很清楚,我很乐意回答任何问题。
提前致谢!
答案 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();