- 締切済み
ページの更新時間を予約して自動で更新するシステム
ウェブサイト内のページの更新時間を事前に予約しておき、時間になったら更新が自動で行なわれるシステムを探しています。サーバーに専用のツールを置けばよいのか、PHPやPerlといったサーバーサイド・プログラムで実現できるのもなのか、情報提供をお願いします。 自分で思いついた方法の1つとして、PHPでXMLやDBから更新時間のデータを取得し、現在時刻がそれより進んでいたらデータのアップロードを実行するというシステムがあります。例えばある時刻にページAとそこへのリンクを張ったindex.phpファイルを更新するというシステムをindex.php自身(まだリンクはなし)に組んでおき、アクセスされるごとに予約した時刻と現在時刻を比較、現在時刻の方が進んでいれば2つのデータをアップロードが実行。ページAがアップロードされ、index.php自身には新しくページAへのリンクが張られるというものです。しかしこれはindex.phpがアクセスされた時点でプログラムが作動するので、例えばindex.phpが1週間アクセスされなければページAはアップロードされません。実用的な意味ではindex.phpからしかページAへリンクを張らない場合、文句を言われることは無いと思いますが結局のところ完全なシステムではありません。指定した時刻になると確実にプログラムが実行されるシステムを組みたいのです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- popesyu
- ベストアンサー率36% (1782/4883)
>例えばindex.phpが1週間アクセスされなければページAはアップロードされません。 誰かがアクセスした瞬間に切り替わるんでよね? ということはアップロードされていないことに誰が気付くのでしょうかね。 シュレディンガーの猫みたいな話です。箱を開けるまでは猫が死んでるかどうかが確定しないみたいな。 まぁそれよりも、動的にページを発行するとか、どうしても気になるならあらかじめアップしておいて、スクリプトでリンク先を変えれば良いんじゃないんでしょうか。
- NNori
- ベストアンサー率22% (377/1669)
「アップロードする」意味がわかりません。あなたの方法でも全く問題ないと思いますけどねぇ。指定時刻にアップロードされても何の意味もないですからね。もし確実にアップロードさせたければその時間にあなたがアクセスすればいいだけでしょう。 まあ、それは置いといてサーバを自由にできるなら、Windows系ならスケジュール、Unix系ならcron で設定しておけば自由に好きな時刻に好きなプログラムを実行できます。