かんたん作成【HTML CSS JavaScript PHP CGI Perl Ruby Python .htaccess】



このエントリーをはてなブックマークに追加
カレンダー(今年1月〜12月, 前年次年リンク付)

<?php
    $min = 1902;
    $max = 2037;
    if(preg_match("/^\/\d+\/$/", $_SERVER['PATH_INFO'])) {
        $year = $_SERVER['PATH_INFO'];
        $year = preg_replace("/^\//", "", $year);
        $year = preg_replace("/\/$/", "", $year);
        if($year < $min or $year > $max) {
            $year = date("Y");
        }
    }
    else {
        $year = date("Y");
    }
    $prev = $year - 1;
    if($prev < $min) {
        $prev = date("Y");
    }
    $next = $year + 1;
    if($next > $max) {
        $next = date("Y");
    }
    $scriptname = $_SERVER['SCRIPT_NAME'];
    $scriptname = preg_replace("/\.php$/", "", $scriptname);
?>
<html>
<head>
<title><?=$year?>年カレンダー</title>
</head>
<body>
<table cellpadding="5" align="center">
<?php
    echo "<tr>\n",
        "<td><a href=\"$scriptname/$prev/\">$prev ≪</a></td>\n",
        "<th><font size=\"+2\">$year</font>年</th>\n",
        "<td align=\"right\"><a href=\"$scriptname/$next/\">≫ $next</a></td>\n",
        "</tr>\n";
    for($m = 1 ; $m <= 12 ; $m++) {                            // 1月〜12月のカレンダーを表示
        $time = mktime(0, 0, 0, $m, 1, $year);
        $startwday = date("w", $time);                        // 1日の曜日
        $endmday = date("t", $time);                        // 最後の日
        $count = 0;
        if($m % 3 == 1) {
            echo "<tr>\n";
        }
        echo "<td valign=\"top\">\n",
            "<table border=\"3\" bordercolor=\"#333399\" cellspacing=\"0\" cellpadding=\"5\">\n",
            "<tr>\n",
            "<th colspan=\"7\"><font size=\"+2\">$m</font><font size=\"-1\">月</font></th>\n",
            "</tr>\n",
            "<tr>\n",
            "<td align=\"center\"><font size=\"-1\" color=\"red\">日</font></td>\n",
            "<td align=\"center\"><font size=\"-1\">月</font></td>\n",
            "<td align=\"center\"><font size=\"-1\">火</font></td>\n",
            "<td align=\"center\"><font size=\"-1\">水</font></td>\n",
            "<td align=\"center\"><font size=\"-1\">木</font></td>\n",
            "<td align=\"center\"><font size=\"-1\">金</font></td>\n",
            "<td align=\"center\"><font size=\"-1\" color=\"blue\">土</font></td>\n",
            "</tr>\n";
        for($i = 0 ; $i < $startwday ; $i++) {                    // 1日までの空欄
            if(($count % 7) == 0) {
                echo "<tr>";
            }
            echo "<td> </td>";
            $count++;
        }
        for($i = 1 ; $i <= $endmday ; $i++) {                    // 日付を書き込む
            if(($count % 7) == 0) {
                echo "<tr>";
            }
            echo "<td align=\"right\">";
            if(($count % 7) == 0) {                        // 日曜日の場合、文字色を赤
                echo "<font color=\"red\">";
            }
            elseif(($count % 7) == 6) {                    // 土曜日の場合、文字色を青
                echo "<font color=\"blue\">";
            }
            echo "$i";
            if(($count % 7) == 0 or ($count % 7) == 6) {
                echo "</font>";
            }
            echo "</td>";
            $count++;
            if(($count % 7) == 0) {
                echo "</tr>\n";
            }
        }
        for( ; $count < 42 ; ) {                        // 最後の日からの空欄
            if(($count % 7) == 0) {
                echo "<tr>";
            }
            echo "<td> </td>";
            $count++;
            if(($count % 7) == 0) {
                echo "</tr>\n";
            }
        }
        echo "</table>\n",
            "</td>\n";
        if($m % 3 == 0) {
            echo "</tr>\n";
        }
    }
?>
</table>
</body>
</html>
PHP
Hello world ! ユーザーエージェント取得・表示($_SERVER["HTTP_USER_AGENT"])
IPアドレス取得・表示($_SERVER["REMOTE_ADDR"]) リンク元取得・表示($_SERVER["HTTP_REFERER"])
URL取得・表示($_SERVER["HTTP_HOST"], $_SERVER["REQUEST_URI"]) 環境変数一覧表($_SERVER, list, each)
ホスト名取得・表示(gethostbyaddr, $_SERVER["REMOTE_ADDR"]) 日付を表示(getdate)
時間を表示(getdate, hours, minutes,) getdate()関数取得可能情報一覧表(list, each)
日時を表示(出力形式を指定, date) date()関数出力形式一覧表
指定の日までの日数(mktime) 時刻によって挨拶文を変える
曜日によって背景色を変える 日によって背景色を変える
月によって背景色を変える 時間によって背景画像を変える
文字サイズ・背景色選択 見るたびに背景色を変える(mt_rand)
おみくじ(array_rand) 文字列置き換え(str_replace)
パスワード認証 カラーチャート
グラフ(棒グラフ) アクセスカウンター
アクセスカウンター(画像) アクセスカウンター(今日・昨日)
訪問回数(クッキー, $HTTP_COOKIE_VARS, setcookie) クッションページ($_SERVER["QUERY_STRING"])
クッションページ($_SERVER["PATH_INFO"]) カレンダー
カレンダー(今年1月〜12月) カレンダー(今年1月〜12月, 前年次年リンク付)
掲示板 ディレクトリ内ファイル一覧表示
Webデータ取得(HTMLソース取得, file_get_contents) トラックバック受信
トラックバック送信(POST, file_get_contents) メール送信(メールフォーム, mb_send_mail)
リダイレクト(header, Location) 条件指定リダイレクト(header, Location)
言語振り分けリダイレクト(header, Location) 条件指定アクセス拒否(ステータスコードを返す)
HTMLファイル読み込み・表示(include) 外部PHPファイル読み込み(include)
HTMLファイル読み込み・パスワード認証 HTMLファイル読み込み・条件指定アクセス拒否
HTMLファイル読み込み・条件指定リダイレクト 画像ファイル読み込み・表示(ImageCreateFromJPEG)
画像ファイル読み込み・文字埋め込み・表示(ImageString) 画像ファイル読み込み・文字埋め込み・保存(ImageString)
画像ファイル読み込み・サイズ変更・表示(ImageCopyResampled) 画像ファイル読み込み・サイズ変更・保存(ImageCopyResampled)
画像ファイル読み込み・切り出し・表示 画像ファイル読み込み・切り出し・保存
画像合成・表示(ImageCopy) 画像合成・保存(ImageCopy)
画像生成・表示(ImageCreate) 画像生成・保存(ImageCreate)
画像合成アクセスカウンター
かんたん作成【HTML CSS JavaScript PHP CGI Perl Ruby Python .htaccess】