2011-11-23 17 views
2

PHPファイル(HTMLも含む)の内容を変数に取得し、後でそれらを別のPHPファイル内にエコーする方法はありますか?私はまた、PHPを適切に実行するための内容が必要です。私は次のようなものを試しましたが、ページ上のすべての内容の文字列を与えてくれました。PHPファイルの内容を表示用の変数に取得

$contents = file_get_contents("myfile"); 
echo $contents; 

答えて

3

使用output bufferingincludeファイル。

ob_start(); 
include('myfile'); 
$contents = ob_get_contents(); 
ob_end_clean(); 

その後、後で:

echo $contents; 
+0

私はこのオプションをどこか別の場所にも見ました。これは大丈夫ですか? – Metropolis

+2

私の意見では、 'myfile'の出力をキャプチャして、ファイルに含まれるPHPコードを実行できるようにするのが最良の方法です。 – nickb

+2

@metro:一般的に言えば、はい。基本的に、ネイティブのPHPベースのテンプレートを使用するテンプレートシステムの基礎です。 – prodigitalson

0

一つのPHPスクリプトを実行する別の、その出力をキャプチャするには、通常、あなたは物事を行っている間違った方法を意味します。もしあなたがしなければならないのは、出力バッファリングを見て、eval、おそらくsystem_execのようなものです。

CodeIgniterのようなプロジェクトとそのテンプレートシステムがどのように機能するか、特に小さなテンプレートの部分/断片がどのようにレンダリングされ、より大きなビュー/テンプレートに組み込まれるかを見てみたい場合があります。