PHP:file_get_内容包含()的PHP文件;

PHP:file_get_内容包含()的PHP文件;,php,include,file-get-contents,Php,Include,File Get Contents,我有一个PHP脚本,它调用一个主PHP模板(充当HTML模板),其中包含file\u get\u contents,替换其中的一些单词,然后将最终文件保存为目录中的另一个PHP 但是主PHP模板本身有include()和要求_一次()

我有一个PHP脚本,它调用一个主PHP模板(充当HTML模板),其中包含
file\u get\u contents
,替换其中的一些单词,然后将最终文件保存为目录中的另一个PHP

但是主PHP模板本身有
include()
要求_一次()
保存文件的HTML源代码中包含
,但此处不包含文件u的输出——请参见图

如何调用file_get_contents();并且仍然让主模板执行include();或者需要_once()

file\u get\u contents()
将获取文件的内容,而不是作为PHP脚本执行。如果希望执行这段代码,则需要包含它,或者处理它(例如,通过对Apache的HTTP请求)

如果包含此文件,它将作为PHP代码处理,当然,还可以打印HTML标记(
include*
可以接受任何类型的文件)

如果在打印之前需要处理其内容,请使用
ob.*
函数操作PHP输出缓冲区。见:


顺便说一下,对于模板引擎来说,这种机制听起来很重要。基本上,模板不应该包含PHP代码。如果您想要这样的行为,请查看Twig:

您在这里的最佳选择是也包括主模板文件,可能在ob_start/ob_get_clean块中,并对结果进行替换。
ob_start(); // Start output buffer capture.
include("yourtemplate.php"); // Include your template.
$output = ob_get_contents(); // This contains the output of yourtemplate.php
// Manipulate $output...
ob_end_clean(); // Clear the buffer.
echo $output; // Print everything.