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

の代わりにincludeまたはを使用する必要があります。ローカルファイルを実行せず、その内容(プレーンテキストのPHPコード)を取得するだけです。requirefile_get_contentsfile_get_contents

于 2013-02-01T16:51:13.480 に答える
0

file_get_contents()はファイルの実際のソースを返し、それをスクリプトとして使用しません。必要なのはどちらかです

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

またはそれ以上

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

これは、file.phpで関数が宣言されている場合に適しています。ファイルを2回インクルードすると、関数が2回以上宣言されたことを示すエラーがスローされます。したがって、ファイルに何かが発生した場合に備えて、それがなくても生きていけるものである場合はinclude_onceを、ファイルが存在しない場合は致命的なエラーが発生するrequire_onceを指定します。

于 2013-02-01T16:55:53.537 に答える