0

ファイルから読み取っているphpページがあります:

$name = "World";
$file = file_get_contents('html.txt', true);
$file = file_get_contents('html.txt', FILE_USE_INCLUDE_PATH);

echo $file;

html.txt には次のものがあります。

Hello $name!

サイトにアクセスすると、「Hello $name!」と表示されます。Hello World! ではありません。

txt ファイル内の var を取得して、名前ではなく値を出力する方法はありますか?

ありがとう、ブライアン

4

3 に答える 3

1

The second param of file_get_contents has nothing to do with how to interpret the file - it's about which pathes to check when looking for that file.

The result, however, will always be a complete string, and you can only "reinterpolate" it with evial.

What might be a better idea is using the combination of include and output control functions:

Main file:

<?php

$name = "World";
ob_start();
include('html.tpl');
$file = ob_get_clean();
echo $file;

html.tpl:

Hello <?= $name ?>

Note that php tags (<?= ... ?>) in the text ('.tpl') file - without it $name will not be parsed as a variable name.

于 2013-09-16T16:57:25.417 に答える
0

質問に具体的に答えるには、php で「eval」関数を使用する必要があります。 http://php.net/manual/en/function.eval.php

しかし、開発の観点からは、 $name をよりアクセスしやすい場所に保存するか、プロセスを再評価することにより、それを行うためのより良い方法があるかどうかを検討します。eval 関数などを使用すると、重大なセキュリティ リスクが発生する可能性があります。

于 2013-09-16T16:51:36.460 に答える