[PHP-users 15430]Re: fileとして作成する
Osamu Shigematsu
m5issige @ mr.hitachi-medical.co.jp
2003年 5月 21日 (水) 09:55:01 JST
重松です。こんにちは。
田村さんがファイルに保存したい理由はどういう意図からでしょうか?
やりたいこと「だけ」ではなく、何故そうしたいのか、など、
考えやそうしようとした経緯などを添えると、もっと有意義な議論に
発展できるのではと思います。
で、もし、
「多数のアクセスに対して、重い PHP の処理を複数回実行することを
避けるため (キャッシュしておきたい)」
というのであれば、つい先日、大垣さんが、
リバースプロキシーを利用した事例を PostgreSQL のユーザ会で
講演されたそうですが (私は満員でいけなかった)、
PHP 単体でなくて、規模に応じては、よりよい解決策があるかもしれません。
それから、小規模なものは、きしださんの言われている手段が
最適解とは思いますが、その際に、include() と組み合わせると便利です。
これまた大垣さんのアイデアを拡張したものですが、小規模なテンプレートの
実装例です。
この例では、print $tpl1->parse(); として、画面に出力していますが、
ここを、
$myOutput = $tpl1->parse();
$fp = fopen('/path/to/html_file.html','w') || die('ファイルが開けないです。');
fputs($fp, $myOutput);
fclose($fp);
print $myOutput;
とでもすると、よろしいのではないかと思います。
# 排他制御は考慮していません。
http://ns1.php.gr.jp/pipermail/php-users/2001-September/001891.html
また、せっかく MySQL を使っているのだから、ファイルではなくて、
MySQL に記録する方法ありませんか?
バックアップも楽になるし、何よりも、リソースの競合 (ファイルの場合は、
読み込みと書き込みが競合したり、最悪、書き込みも競合する) が
MySQL の方で面倒を見てもらえる気がします。
--
Osamu Shigematsu <m5issige @ mr.hitachi-medical.co.jp>
PHP-users メーリングリストの案内