3

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

什么相当于包含返回没有回声的字符串。

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

3 回答 3

2

使用输出缓冲

ob_start();
include('email/head.php');
$message = ob_get_contents();
ob_end_clean();
于 2012-07-03T17:45:20.437 回答
1

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

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

于 2012-07-03T17:42:00.457 回答
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()更适合静态文本文件(模板)。

于 2012-07-03T17:46:00.423 回答