関西大学大学院 総合情報学研究科 博士課程にて情報学を学ぶ傍ら、ホームページに関する書籍の執筆や企業…
文字や画像の動的変更 (HTML,CSS,JavaScript)
更新日:2006年11月01日
ページを更新しても修正を忘れがちなのが、著作権表記に含まれる「年」の表示です。未だに「Copyright 2005」などと書いてしまっていませんか?この年表記を自動で更新されるようにしてみましょう!簡単に作れます。
まず、次のCGIを用意します。
たった4行のCGIです。このCGIは、実行すると「現在の年」を表示します。
ファイル名は何でも構いませんが、ここでは「 getyear.cgi 」としておきましょう。
●CGIソースの説明:
1行目: Perlの位置を示しています。お使いのサーバによっては /usr/local/bin/perl などに修正しないと動かない場合があります。
2行目: 現在の年を取得しています。
3行目: CGIで文字を表示させたい場合に必須の記述です。
4行目: 得た年を表示させる記述です。
次に、HTMLファイル中(年を表示させたい場所)に、以下のようなSSIの記述を加えます。
このように記述することで、この位置に「getyear.cgi」を実行した結果が挿入されます。 つまり、年が表示されることになります。
もし、HTMLファイルとは異なるディレクトリ(フォルダ)にCGIを配置したのなら、以下のようにディレクトリ名を含めて記述します。 (※1つ上の階層にあるcgi-binディレクトリに置いた場合の例)
以下のようにHTMLを記述しておけば、年が自動更新されるCopyright表記になります。
これを表示すると、次のように表示されます。
※以下は、表示例です。実際にこの記事中でCGIやSSIを動かしているわけではないので、下記では常に「2006」が表示されます。
年表記は、閲覧者がアクセスした日付の年が自動的に使われます。
サーバの日付が使われるため、閲覧者の環境には一切依存しません。
<注意>
※何も表示されない場合:
CGIが正しく動作していないか、SSIが有効になっていません。 getyear.cgiを直接ブラウザで表示させてみて下さい。エラーになるならCGIに問題があります。 年が正しく表示されていれば、SSIが有効になっていません。 SSIは、(たいていの場合は)HTMLの拡張子を「.shtml」にしないと動作しないので注意して下さい。 CGIがエラーになる場合は、CGIに実行権が付加されているかどうか、FTPソフトなどで確認してみて下さい。
※「an error occurred while processing this directive」と表示される場合:
SSIに問題があります。 CGIの位置やファイル名を誤って記述していないか確認して下さい。 また、サーバによっては、SSIからCGIを呼び出すことを禁じている場合があります。 その場合、この方法は使えません。
どうしてもうまくいかない場合は、JavaScriptで済ませてしまう手もあります。
JavaScriptを使った方法は、前のページを参照して下さい。
今回は、Copyright表記中の「年」部分を自動的に更新させる方法をご紹介致しました。
Copyright以外でも、とにかく「現在の年を表示したい」という箇所にならどこでも使えます。 ぜひ試してみて下さい。
関連キーワード[PR]
人気ホームページ作成ランキング
Powered by 価格.com
関連キーワード[PR]