我试图将字符串定义为硬编码字符和另一个文件内容的组合。我试过的是这个。
$html = "<h1>
".file_get_contents("file.php", TRUE)."
<h1>";
问题是 file.php 只返回原始文本。无论 PHP 应该回显的是什么,都没有回显..
我试图将字符串定义为硬编码字符和另一个文件内容的组合。我试过的是这个。
$html = "<h1>
".file_get_contents("file.php", TRUE)."
<h1>";
问题是 file.php 只返回原始文本。无论 PHP 应该回显的是什么,都没有回显..
您需要输出缓冲来做到这一点:
function generate_h1()
{
ob_start();
include('file.php');
return '<h1>' . ob_get_clean() . '</h1>';
}
$html = generate_h1();
也可以看看:ob_start()
ob_get_clean()
file_get_contents() 返回文件的实际来源,它不将其用作脚本。你需要的是要么
include 'file.php'; //or
require 'file.php';
或者更好
include_once 'file.php';
require_once 'file.php';
如果您在 file.php 中声明了函数,这会更好。如果你包含一个文件两次,它会抛出一个错误,说明一个函数已被多次声明。所以 include_once 如果它是你可以生活的东西,以防文件发生某些事情,或者 require_once 如果文件不存在,这将导致致命错误。
您需要使用include
orrequire
代替file_get_contents
. file_get_contents
不会执行本地文件,它只会获取其内容 - 纯文本 PHP 代码。