uttsu.com > CGI/SSI >

Fortune

目次

内容

 ホームページに、毎回ランダムにことわざや格言などを表示するスクリプトです。SSIで動作します。

特徴

サンプル

 以下のメッセージはFortuneによって出力されています。リロードすると変わります。

 山里は冬ぞさびしさまさりける 人めも草もかれぬと思へば 源宗于朝臣

ダウンロード

設置方法

ディレクトリ構成とファイル属性

 Fortuneのディレクトリを、SSIを実行できるディレクトリに置きます。Fortuneディレクトリ内のディレクトリ構成とファイル属性は以下のようになります(ファイル属性はプロバイダなどによって異なることがあります)。

ファイル名              属性    説明
fortune/                755     Fortuneディレクトリ
    fortune.pl          701     Fortune本体
    fortune.dat         644     データファイル
    .htaccess           600     アクセス設定ファイル(なくてもよい)

 .htaccessファイルは直接データファイルなどにアクセスされるのを防ぐために置きます。不要という場合はなくてもいいです。

 たとえば、CGIが実行できるディレクトリがpublic_html/cgi-binだとすると、Fortuneディレクトリは次のように置きます。

ファイル名              説明
public_html/            ディレクトリ
    cgi-bin/            ディレクトリ
        fortune/        Fortuneディレクトリ

fortune.plの設定

 fortune.plをテキストエディタで開き、以下の行を設定します。

#!/usr/bin/perl

 1行目はPerlのある場所です。プロバイダごとに異なるので、プロバイダの説明に従って書き換えます。以下のケースである場合がほとんどです。

# データファイル名(絶対パスで書くのが簡単)
my $data_file='/home/uttsu/public_html/cgibin/fortune/fortune.dat';

 データファイルのある場所を記述します。SSIは呼び出し元からのパスで書く必要があるみたいなので、上記のように絶対パスで書くと失敗がなくて簡単です。

# メッセージを毎回変える: 0   日毎に変える: 1
my $is_daily = 1;

 同じ日の間は同じメッセージを表示する場合は1、毎回変える場合は0にします。

呼び出し元HTMLファイルの設定

 HTMLファイルの中で、メッセージを表示したい場所に、以下のように記述します。

<!--#exec cmd="cgi-bin/fortune/fortune.pl" -->

 "cgi-bin/fortune/fortune.pl"の個所は、設置したディレクトリに合わせてください。

データファイルの編集

 データファイル(fortune.dat)をテキストエディタで開き、編集することによって、表示するメッセージを変更できます。次のようなデータ形式になっています。

データ形式

※\nは、Windowsなどの環境では ¥n となります(半角文字)。

 HTMLのタグなどを入れた場合は、表示されたときにそのタグが有効になります。また、読み込んだメッセージをJavaScriptなどで操作しても面白いと思います。


Copyright (C) Takashi Utsunomiya. All Rights Reserved.
2002.10.19掲載