我正在使用PHP包含功能将内容添加到发送的电子邮件中。问题是我也不想回复文件,我只想将它包含在$ message中。
相当于include返回没有echo的字符串。
$message = include('email/head.php');
答案 0 :(得分:2)
ob_start();
include('email/head.php');
$message = ob_get_contents();
ob_end_clean();
答案 1 :(得分:1)
include
的目的是将包含的文件评估为PHP文件。这意味着<?php ?>
标记之外的任何内容都被视为输出,并将其发送到浏览器。如果您想获取文件的内容,则需要使用file_get_contents
或fopen
/ 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()
更适合静态文本文件(模板)。