PHP包含没有邮件功能中的数据回显

时间:2012-07-03 17:40:34

标签: php email include return

我正在使用PHP包含功能将内容添加到发送的电子邮件中。问题是我也不想回复文件,我只想将它包含在$ message中。

相当于include返回没有echo的字符串。

$message = include('email/head.php');

3 个答案:

答案 0 :(得分:2)

使用output buffering

ob_start();
include('email/head.php');
$message = ob_get_contents();
ob_end_clean();

答案 1 :(得分:1)

include的目的是将包含的文件评估为PHP文件。这意味着<?php ?>标记之外的任何内容都被视为输出,并将其发送到浏览器。如果您想获取文件的内容,则需要使用file_get_contentsfopen / fread进行阅读。

如果要将包含的文件评估为可执行PHP并捕获输出,则应使用output buffering

答案 2 :(得分:0)

<强> file_get_contents() 将完整的文件内容放入变量。

<?php
// grabs your file contents
$email_head = file_get_contents('email/head.php');

// do whatever you want with the variable
echo $email_head ;
?>

请注意,它不会将head.php预处理为php文件。因此file_get_contents()更适合静态文本文件(模板)。