PHP を知らない人に PHP の話して欲しいと言われたのでブログ書きました。
難しい話は抜きにして PHP <?php と ?> で囲えば動きます。PHP が動くサーバーなら今まで作ってた example.html というファイルの拡張子を example.php とすれば良いだけです。
1 | <?php PHPスクリプト ?> |
拡張子変えずに動かすこともできます。.html ファイルでも PHP を使いたい場合は .htaccess ファイルに以下のように書けば良いだけ。サーバーによってはこれを禁止してたり、少しやり方が違う場合がありますが、大体動きます。
1 | AddType application/x-httpd-php .php .html |
フレームの代わりにPHPを使うが参考になります。
ついでにPHP を少しでも使えるようになれば、こんなことができるという一例を紹介します。
コピーライトの西暦を自動更新
PHP を使えばページフッタの西暦も自動更新します。
1 | Copyright (c) 20010-<?php echo date('Y'); ?> Weble inc. All Rights Reserved. |
自分の年齢を自動更新
PHP を使えば自分の年齢を自動更新して表示できます。
1 | <?php echo floor((date('Ymd')-19900605)/10000); ?>歳 |
ページの部品を読み込む
PHP を使えばページ内に部品を読み込むことができます。
1 | <?php include('footer.html'); ?> |
これを応用すれば以下のようにしてフッタとヘッダを同期できますよ。
1 2 3 4 5 | <?php include('header.html'); ?> <div id="contents"> テキストテキストテキスト </div> <?php include('footer.html'); ?> |
他人のサイトの内容を読み込む
人のサイトのデータをチェックして何かするときなどに便利。
1 | <?php echo file_get_contents('http://google.com/'); ?> |
複数のメッセージをランダムに表示
1 2 3 4 | <?php $message = array("メッセージA", "メッセージB", "メッセージC", "メッセージD", "メッセージE"); echo $message[array_rand($message)]; ?> |
指定した月のカレンダーを出力
少し長いですが、2010年12月のカレンダーを出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <?php echo calender(2010, 12); function calender($year, $month) { $jpweek = Array('日', '月', '火', '水', '木', '金', '土'); $days = cal_days_in_month(CAL_GREGORIAN, $month, $year); $week = jddayofweek(cal_to_jd(CAL_GREGORIAN, $month, 1, $year), 0); $day = array_pad(Array(), 42, 0); for($i = $week; $i <= $week + $days - 1; $i++) $day[$i] = $i - $week + 1; $calender = '<table>'; $calender .= '<tr>'; foreach($jpweek as $value) $calender .= '<th>' . $value . '</th>'; $calender .= '</tr>'; foreach($day as $key => $value) { if($key % 7 == 0) $calender .= '<tr>'; $calender .= '<td>'; $calender .= ($value) ? $value : ' '; $calender .= '</td>'; if($key % 7 == 6) $calender .= '</tr>'; if($key >= $week + $days - 1 && $key % 7 == 6) break; } $calender .= '</table>'; return $calender; } ?> |
以上のように結構便利なものがあります。コピーして貼りつけても大体のサーバーで動きますのでどうぞ。本当はサーバーで動かす前に自分のパソコンでテストした方が良いです。
匿名さんのコメント
初め見たとき、「PHPを知らない人(=著者)」が「PHPの便利さを学べる~」だと
思った。