月めくりカレンダー(改)完成版

先日、中途半端な段階でエントリーを書いたが、ヤマギ氏(EB)からのアドバイスもあってなんとか完成。
右サイドバー(→)に実装してみますた。
どんぐりころころさんの「月めくりカレンダーVer.UP版」を参考に、個別アーカイブをphp化している場合に対応させたのが改造点。
改造方法は以下のとおり。

どんぐりころころさんの以下の部分をカスタマイズ。

// 日付別アーカイブファイルが存在すれば、リンクさせる。 //
// 注意:Web上の論理パス //
$filename = “/archives/”.date(“Y”,$t).”/”.date(“m”, $t).”/”.date(“d”,$t).”/”;
// 注意:フルパスでの記述。レンタルサーバなどで //
//    バーチャルホストの場合は注意。 //
$full_filename = “/hogehoge/user1/web”.$filename.”index.html”;
// ファイル検査 //
if (file_exists($full_filename)) {
print (“<A href=\””);
print $filename;
print(“\” target=\”_top\”>”);
print date(“j”, $t);
print(“</A>”);
} else {
print date(“j”, $t);
}

これを次のようにする。

//月・日を二桁表示にする
$mon = sprintf(“%02d”,$month);
$cd = sprintf(“%02d”,date(“j”, $t));
$fulldir =”サーバー上の絶対パス/”.$year.”/”.$mon.”/”;
$dir = “webのホームからの相対パス/”.$year.”/”.$mon.”/”;
//ファイルの検査
$files=glob($fulldir.$cd.”_*.php”);
//当該日にエントリーがあった場合
if($files) {
foreach($files as $list) {
print (“<A href=\””);
print ( $dir.basename($list));
print(“\” target=\”_top\”>”);
print date(“j”, $t);
print(“</A>”);
break;
}
} else {
print date(“j”, $t);
}

最初に書いたのよりも、だいぶすっきりしたような気がw
あ、実装品では、今日の日付を赤で表示するようにしてありマス



  •  

    ブログパーツの貼り付け方はこちらへ
  • 月別アーカイブ

  • あいさつ掲示板

  • メタ情報