Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

Last-Modified: 不明

う?ん。DB から日記を読み込んで表示させるようにしたわけですが、そうするとアンテナさんが HEAD 取得かけてきてもトップ・ページの更新時刻は変わらないので、いつまでたっても更新してないことになっちゃうのをどうにかしなければー、と思いつつ、日記テーブルの更新時間を取得をする方法がわかんなくて、あちこち調べまわってもダメ。しかたがないので以下に示すやり方で試してみるテスト(畳語)。


<?php
class UpdateTime{

  function GetUpdateTime(){

    include 'mysql_data.inc';

    $connect = mysql_connect(HOST , USER , PASS);
    mysql_select_db(DATABASE , $connect);

    //なんかいい方法ありませんか? コレ↓
    $query = ("SELECT date FROM " . TABLE . " ORDER BY id DESC LIMIT 1;");
    $result = mysql_query($query , $connect);

    $update_time = mysql_fetch_assoc($result);
    //datetime から timestamp に変換(謎処理)
    $update_time = strtotime($update_time['date']);
    $update_time = date("D, d M Y H:i:s", $update_time);

    mysql_free_result;
    mysql_close($connect);

    return($update_time);

  }

  function OutputUpdateTime(){

    $update_time = $this->GetUpdateTime();
    header("Last-Modified: " . $update_time . " JST");

  }

}
?>

…ってなクラスを読み込んで、ヘッダを送りつけてやろうという魂胆。つか、いちばん大きい id のとこの登録時間を更新時間として送りつけりゃいいんじゃないの? という単純発想。というよりもむしろ、根本的におかしなことをやらかしている気まんまんなわけですが(スクリプトの書き方とか)、そこはあえてつっこまない方向で、よろしくおながいします…。

またしても、スクリプトではなく恥を晒しているよ!>けんたろたん