MT専科トップ > MTカスタマイズ > PHP版カレンダー

2005年11月12日

PHP版カレンダー

PHPで書いたカレンダーです。
これ自体はテンプレートではありません。MTタグは使用していません。
<?php

    $show=1; // 0:日曜開始、1:月曜開始...6:土曜開始

    $d = mktime();            // 現在時刻
    $m = date("m",$d);        // 現在月
    $y = date("Y",$d);        // 現在年

    $d = mktime( 0,0,0,$m,1,$y);    // 当月初日

    $data = "<table border=\"0\" cellspacing=\"4\" ";
    $data .= "cellpadding=\"0\" summary=\"Monthly calendar\">";
    $data .= "<caption>";
    $data .= date("Y年m月",$d);
    $data .= "</caption><tr>";

    $w = array("日","月","火","水","木","金","土");
    for( $i=0;$i<7;$i++) {
        $data .= "<th align=\"center\">".$w[($i+$show)%7];
        $data .= "</th>";
    }
    $data .= "</tr>";

    for ( $i=1; $i<date("t",$d)+1; $i++ ) {

        $wix=date("w",mktime(0,0,0,$m,$i,$y));
        if ( $i == 1 ) {
            $max = ($wix-$show+7)%7;
            $data .= "<tr>";
            while ( $max-- )  { $data .= "<td> </td>";}
        }
        else {
            if ( $show == $wix ) { $data .= "<tr>"; }
        }

        $day = $i;
        $link = date("Y/m/d/",mktime(0,0,0,$m,$i,$y));

        if ( is_dir("/絶対パス/".$link) ) {
            $day = "<a href=\"http://あなたのURL/$link\">$i</a>";
        }
        $data .= "<td align=\"center\">$day</td>";
        if (  (($show-1+7)%7) == $wix ) {
            $data .= "</tr>";
        }
    }
    $max =  ($show-1+7 - $wix)%7;
    while ( $max-- )  { $data .= "<td> </td>"; }
    $data .= "</tr>";
    $data .= "</table>";

    echo $data;
?>