人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

表示させたいデータを、登録・更新などのデータ変更したタイミングで静的HTMLファイルとしてフィックスさせ、次回の変更まではその静的ファイルを表示させたいと思っております。何かしらそういった技法をご存知でしたら、ご教授頂けたらと思います。宜しくお願いいたします。
現在の所、postgresql(mysql)に格納しているデータを、ページを開く毎ににDB接続し、動的にHTMLとして書き出し、表示させている状態なのですが、今回の制作物は1ページ毎の処理(可変ループ、データ量多数、多重分岐)が多く、帯域等が優秀なサーバーを用いても、ページを表示させるまでに大幅な時間を費やしております。簡単に言うと重すぎて閲覧するのがダルくなっています。

●質問者: ska-ken
●カテゴリ:ウェブ制作
✍キーワード:dB HTML MySQL postgreSQL サーバー
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● chatoraneko
●10ポイント

http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html

Manpage of CRONTAB

cronにて定期に静的ページを出力させます。

カラムをひとつ追加して更新時の時間を保存し

cronで数時間ごとなどにタイムスタンプをチェックし

変更されていなければ静的ページを変更しない

などの方法があります。

◎質問者からの返答

ありがとうございます。参考にさせて頂きます。PHPとpostgresql(mysql)のみで実現できないものでしょうか?ご存知の方いらっしゃいましたらご教授願います。


2 ● FMR
●15ポイント

http://webmaster.hatena.ne.jp/awindow?qid=1115823273

登録・更新などのデータ変更したタイミングでhtmlを生成しDBにhtmlファイルを格納しておくってのはダメでしょうか?

◎質問者からの返答

大胆な発想ですね。ありがとうございます。それも視野に入れてみます。


3 ● typista
●30ポイント

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k03.htm

PHP 基礎編3 - 標準ファイル I/O fopen、unlink、flock、file、opendir、readdir - SAK Streets

静的なページをhoge.html、これを出力するPHPをhoge.phpとします。(ska-kenさんの例でいうとDBアクセスしてHTML出力するPHP)

hoge.phpでは、echo or printを直接せずに、hoge.htmlへファイル出力するように変更します。

→ ?fopen、?fwrite、?fclose


もし、内容確認した上で、静的ページを更新したい場合は、一旦hoge_new.htmlなどに出力して目視確認した上で、リネーム(手動またはPHPを使うならcopy or rename)で良いと思います。

※PHPを使う場合は、管理者のみしか実行できないような仕組みもあったほうが無難ですが。

◎質問者からの返答

これなら確実に実現できますね。ありがとうございます。他の技法もお待ちしております。


4 ● hukko
●25ポイント

http://smarty.php.net/

Smarty : Template Engine

(なにか勘違いしていたらすみません)

「登録・更新などのデータ変更したタイミングで静的HTMLファイル」を生成(サーバー上にHTMLファイルとして保存)すればいいのでは?と思うのですが・・・。


他の案として、Smartyを使うと、「(Smartyが生成した)キャッシュがあれば、スクリプトを実行せずにキャッシュを表示する」というようなコントロールができます。ご参考まで。

http://sunset.freespace.jp/smarty/

Smarty(暫定)

◎質問者からの返答

typistaさんのご意見同様、情報更新時のタイミングで、phpファイル関数を利用して実現しました。他の方々のご意見も今後の参考にさせて頂きたいと思います。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ