file_get_contents没有返回php代码

时间:2013-02-01 16:50:11

标签: php

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

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

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

3 个答案:

答案 0 :(得分:1)

您需要output buffering来执行此操作:

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

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

$html = generate_h1();

另请参阅:ob_start() ob_get_clean()

答案 1 :(得分:0)

您需要使用includerequire代替file_get_contentsfile_get_contents不会执行本地文件,只是获取其内容 - 纯文本PHP代码。

答案 2 :(得分: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。