外部PHPファイルを読み込んで表示する方法!レンダリング関数!
外部のPHPファイルをfile_get_contens()などで読み込んで表示しようとすると、
PHPは実行されずに、ソースがそのまま表示されることになります。
そこで、レンダリング関数を作りました。
/* * 外部ファイルをレンダリングして返す * 引数:読み込みたい外部ファイルのパス * 戻り値:成功した場合は読み込んだ文字列、失敗した場合はFALSE */ function renderFile($file_path){ $contents = ""; //出力バッファリングを開始 $para = ob_start(); if($para){ //出力バッファに外部ファイルを読み込む include($file_path); //出力バッファの内容を変数に入れる $contents = ob_get_contents(); //出力バッファリングを終了 ob_end_clean(); if($contents !== false){ return $contents; }else{ return false; } }else{ return false; } }
使用例は以下です。
index.php
<?php $r = renderFile("./render/file.php"); if($r){ echo $r; } /* * 外部ファイルをレンダリングして返す * 引数:読み込みたい外部ファイルのパス * 戻り値:成功した場合は読み込んだ文字列、失敗した場合はFALSE */ function renderFile($file_path){ $contents = ""; //出力バッファリングを開始 $para = ob_start(); if($para){ //出力バッファに外部ファイルを読み込む include($file_path); //出力バッファの内容を変数に入れる $contents = ob_get_contents(); //出力バッファリングを終了 ob_end_clean(); if($contents !== false){ return $contents; }else{ return false; } }else{ return false; } } ?>
実行結果は、以下です。
./render/file.php
これは0番目のループです。 これは1番目のループです。 これは2番目のループです。 これは3番目のループです。 これは4番目のループです。