gpt4 book ai didi

PHP: file_get_contents 带有 include() 的 PHP 文件;

转载 作者:行者123 更新时间:2023-12-04 22:07:36 24 4
gpt4 key购买 nike

我有一个 PHP 脚本,它使用 file_get_contents 调用主 PHP 模板(充当 HTML 模板)。 , 从中替换几个单词,然后将最终文件另存为目录中的另一个 PHP。

但是主PHP模板本身就有include();require_once();在其中,替换单词后保存的文件不会加载从主模板调用的文件。

保存文件的 HTML 源代码为 <?php include('file_here'); ?>在其中,但不包括 file_here 的输出——见图片。

enter image description here

我如何调用 file_get_contents();仍然让主模板执行 include();或 require_once(); ?

最佳答案

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

如果你包含这个文件,它会被当作 PHP 代码处理,当然,打印你的 HTML 标签(include* 可以接受任何类型的文件)。

如果您需要在打印前处理其内容,请使用 ob_*操作 PHP 输出缓冲区的函数。见:http://www.php.net/manual/fr/ref.outcontrol.php

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.

顺便说一句,这种机制对于模板引擎来说听起来很沉重。基本上,模板不应包含 PHP 代码。如果您想要这种行为,请查看 Twig: http://twig.sensiolabs.org/

关于PHP: file_get_contents 带有 include() 的 PHP 文件;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com