[PHP-users 3819] Re: phpでの標準出力のhtmlファイルへの保存

tadashi nagao php-users@php.gr.jp
Sun, 25 Nov 2001 02:47:29 +0900


長尾です。

html を静的に生成しておきたいわけですね。
(アクセス頻度が多くないなら、ファイルから読みこむ方法も結構いけます
よ。)

で、静的な出力では、

eval を使う方法もあります。

template に、変数埋め込んで、eval かけて、html を生成して保存ですね。

私がよく使っているのは下記の関数です。変数展開して、テンプレートで
eval かけます。こんなもんでも結構便利です。これで、でてきた結果を、
保存すればいいでしょう。

$one は、連想配列、
$template は、テンプレート テキストですね。
$shori1,$shori2 は、なんか計算させたいときに使うもの

template は、

<h1>  $title </h1>   などの形をとります。

$one['title']=' これがタイトル'; のように放り込んでおいて使います。


function
one($one,$template,$shori1,$shori2)
{
unset($temp);
if(!is_array($one)){return 0;}
while(list($key,$value)=each($one)){
$$key=$value;
} //
eval($shori1); // ex $csum=$price*$value;
eval('$temp="'.$template.'";');
eval($shori2);
return $temp;
}  // end of one


独自のパーサーを使わないのでいいかなと思います。

あとは、ヒアドキュメントを使えたら、それも手かと


小関 博さんの<3BFFD1C0.3020707@ecotec.co.jp>から
>小関です。
>
>長尾さん、こんばんは。
>
>今回はデータベースを使わないでやろうとしています。
>あくまで、htmlファイルとして保存しようとしています。
>表示だけなら、phpのままでも簡単ですが、これをHtmlファイルとして固定さ
>せ、次回からアクセスは単なるHtmlファイルとして出力させるという前提です。
-----------------------------------------------
tadashi@nagao.com