多くのhtmlコードといくつかのphpコード(ログインしたユーザー名、ユーザーの詳細など)を含むファイルB590.phpがあります。
使ってみた$html = file_get_content("B590.php");
ただし、$html
B90.php のコンテンツはプレーン テキスト (php コード付き) になります。
評価後にファイルの内容を取得できる方法はありますか? this oneやthis oneのような関連する質問がたくさんあるようですが、明確な答えはないようです。
include()
PHP ファイルと出力バッファリングを実行して、その出力をキャプチャするために使用できます。
ob_start();
include('B590.php');
$content = ob_get_clean();
function get_include_contents($filename){
if(is_file($filename)){
ob_start();
include $filename;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
return false;
}
$html = get_include_contents("/playbooks/html_pdf/B580.php");
この回答はもともと Stackoverflow に投稿されたものです
include
またはを使用するとrequire
、ファイルの内容は、現在実行中のファイルにそのB590.php
ファイルのコードも含まれているかのように動作します。そのファイルの「結果」 (つまり、出力) が必要な場合は、次のようにすることができます。
ob_start();
include('B590.php');
$html = ob_get_clean();
例:
B590.php
<div><?php echo 'Foobar'; ?></div>
current.php
$stuff = 'do stuff here';
echo $stuff;
include('B590.php');
出力します:
ここで何かをする
<div>Foobar</div>
一方、 current.php が次のようになっている場合:
$stuff = 'do stuff here';
echo $stuff;
ob_start();
include('B590.php');
$html = ob_get_clean();
echo 'Some more';
echo $html;
出力は次のようになります。
ここで何か
をする
<div>Foobar</div>
評価結果を変数に保存するには、次のようにします。
ob_start();
include("B590.php");
$html = ob_get_clean();
$filename = 'B590.php';
$content = '';
if (php_check_syntax($filename)) {
ob_start();
include($filename);
$content = ob_get_clean();
ob_end_clean();
}
echo $content;