2

外部テキストファイルから HTML/PHP コードを読み込んでいます

$f = fopen($filename, "r");
while ($line = fgets($f, 4096)) 
{
  print $line;
}

このファイルにある PHP コードをサーバーに解析させる方法はありますか? 私は現在<?php echo("test"); ?>、外部ファイル( に保持されている$filename)で単純なものを使用して、機能するかどうかをテストしています。メインファイルでob_start()andを使用しようとしましたが、役に立ちませんでした。ob_end_flush()私は他のソリューションにもオープンですが、可能であれば、ファイルの分離を維持し、PHP のみを使用して Web サイトの将来のアップグレードを容易にしたいと考えています。

4

3 に答える 3

4

これを探しているようです: http://php.net/manual/en/function.eval.php

ただし、次の警告を心に留めておいてください。

eval() 言語構造は、任意の PHP コードを実行できるため、非常に危険です。したがって、その使用はお勧めできません。この構文を使用する以外に選択肢がないことを慎重に確認した場合は、ユーザーが提供したデータを事前に適切に検証せずに渡さないように特に注意してください。

どちらかといえば、別の解決策を見つけてみてください。

于 2012-06-18T14:18:56.343 に答える
0

file_get_contents($link)ファイルの出力を取得するために使用できます。

file_get_contents () については PHP マニュアルを参照してください。

于 2012-06-18T14:21:47.610 に答える
0

以下は、必要なことを行います。

テンプレートタイプのシナリオで使用している場合、つまりデータを PHP ファイルに表示して結果をエコーし​​たい場合は、ob_start と get_clean を使用して出力をキャッチし、結果を変数に保存します。

ob_start();
eval('?>'.file_get_contents($file).'<?');
$result = ob_get_clean();

echo $result;

それ以外の場合は、単純です:

eval('?>'.file_get_contents($file).'<?');

動作します。

: eval() は常に慎重に使用する必要があり、可能であれば、セキュリティとパフォーマンスの問題のために使用しないでください。

于 2012-06-18T15:09:40.443 に答える