• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPがCGIモードのサーバでもLast-Modifiedを取得するに)

PHPがCGIモードのサーバでもLast-Modifiedを取得するには?

このQ&Aのポイント
  • Webサイトを.htmlではなく、.phpで制作しています。共通部分を外部.phpファイル化して作業時間を短縮するためです。
  • しかし、自動でRSSやAtomファイルを生成するソフトを使っていると、更新日時が正しく取得できなくなっています。
  • CGIモードでもLast-Modifiedを取得するためには、他の方法を探す必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

読み込まれる(取得される)PHPファイルで、header関数というHTTPヘッダを送出する関数で、Last-Modifiedを送出するしかないですね。 PHPファイルをどのような構成で作成されているのかによるのですが、 とりあえず、何らかのファイルに、コンテンツが記述されているファイル(今回は仮に「template_001.php」というファイルだと仮定します。)があったとしたら、 <?php //何かの出力(HTMLとかechoされるもの)の前に、下記を記述 $time = filemtime("template_001.php"); //サーバローカルの更新日時を取得 header("Last-Modified: ".gmdate("D, d M Y H:i:s", $time)." GMT"); ?> こうしてやれば、実際に更新を行った、コンテンツ部のファイルの更新日時のLast-Modifiedを送出できます。 書き方によっては全部のファイルにこのコードを挿入しないといけないので、結構面倒です。 参考にしたサイトを掲載します。 http://www.arielworks.net/articles/2004/0125b ここにモジュールモードだとなぜ出来るのか、というのも含めて書いてありました。

touchy
質問者

お礼

なんと説明がうまいことか。。。 > 何かの出力(HTMLとかechoされるもの)の前に、下記を記述 しかもこれが大きかったです。おかげさまで迷うことなくできました! ご案内のURLは自分も検索して見つけたのですが、結局どうすればいいのかわからず閉じてしまいました苦笑; おかげさまで解決しました!!

関連するQ&A