http://www.linuxsecurity.com/articles/projects_article-9310.html
- via: SecuLog
https://www.7th-angel.net/seculog/item/580.html
<!-- templates.html -->
<html>
<body>
<h1>{$a}</h1>
{$b}
</body>
</html>
<?php
// テンプレート中の変数
$a = '見出し';
$b = '本文';
// テンプレートを読み込む
$html = implode('', file('templates.html'));
// eval (PHP コードとして評価) するための準備
$html = str_replace('"', '\"', $html); // " をエスケープ
// 文字列 ($html) を PHP コードとして評価し,変数 ($output) に代入
eval ("\$output = \"$html\";");
// 結果を出力
print $output;
?>
<?php
// バッファをファイルに保存するコールバック関数
function saveBuffer($buffer) {
if ($fh = fopen('test.html', 'w')) {
fwrite($fh, $buffer);
fclose($fh);
}
}
// バッファリング開始
ob_start("saveBuffer");
$a = 1 + 1;
echo '<html><body>1 + 1 =', $a, '</body></html>';
// 後処理 (全バッファの消去)
while (@ob_end_clean());
?>
ファイルを出力しました.
mysql_connect('localhost:/tmp/mysql.sock', 'userid', 'password');