PHPにおける変数へのインクルード結果の記録
あるファイルがあるとします:
<div>
<?= 'test' ?>
</div>
メインファイルで、このファイルの内容を変数に書き込んでみましょう:
<?php
$res = file_get_contents('test.php');
?>
しかし、ここで問題が発生します。変数に記録する際に、ファイル内のPHPコードは実行されません。
インクルードされるファイル内のPHPコードを実行するには、include演算子を使用する必要があります。しかし、この演算子はデータを即座に画面に出力するため、インクルードの結果を変数に記録することができないという問題があります。
しかし、次のような巧妙な方法を使えば、これを実現できます:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
このコードを関数としてまとめてみましょう:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
ファイルの内容を変数に取得するために、この関数を使用してみましょう:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
曜日の配列からセレクトボックス(ドロップダウンリスト)を生成するファイルを作成してください。 メインファイル内で、その結果を変数に記録してください。その変数をファイル内の複数の場所で出力してください。