1

我试图将字符串定义为硬编码字符和另一个文件内容的组合。我试过的是这个。

$html = "<h1>
           ".file_get_contents("file.php", TRUE)."
        <h1>";

问题是 file.php 只返回原始文本。无论 PHP 应该回显的是什么,都没有回显..

4

3 回答 3

1

您需要输出缓冲来做到这一点:

function generate_h1()
{
    ob_start();
    include('file.php');

    return '<h1>' . ob_get_clean() . '</h1>';
}

$html = generate_h1();

也可以看看:ob_start() ob_get_clean()

于 2013-02-01T16:54:21.200 回答
0

file_get_contents() 返回文件的实际来源,它不将其用作脚本。你需要的是要么

include 'file.php'; //or
require 'file.php';

或者更好

include_once 'file.php';
require_once 'file.php';

如果您在 file.php 中声明了函数,这会更好。如果你包含一个文件两次,它会抛出一个错误,说明一个函数已被多次声明。所以 include_once 如果它是你可以生活的东西,以防文件发生某些事情,或者 require_once 如果文件不存在,这将导致致命错误。

于 2013-02-01T16:55:53.537 回答
0

您需要使用includeorrequire代替file_get_contents. file_get_contents不会执行本地文件,它只会获取其内容 - 纯文本 PHP 代码。

于 2013-02-01T16:51:13.480 回答