|
|
03/16(Sun) 01:26
■ バナー登録リンク集bannerex.cgiの作り方(Terraさん)
Terraさんのバナー登録リンク集bannerex.cgiの作り方を紹介します。このbannerex.cgiはlinkvew.cgiをさらに高機能にしたものです。(サンプルはこちら)
最後にlinkvew.cgiのデータをbannerex.cgiデータに自動変換するスクリプトbxconv.cgiもありますのでご利用下さい。
■ 特徴
- 訪問者が自由に登録できます。
- 登録には約88×32ピクセルのバナー(画像ファイル)が必要です。
- 単独のスクリプトで動作しますから、設置が簡単です。
- このページからアクセスされた回数が管理され、ランキングで出力できます。
- キーワードで登録ページを検索できます。(新機能)
- ジャンルを指定して抽出できます。(新機能)
- ランダムに登録ページへジャンプする事が出来ます。(新機能)
- 登録者が変更/削除する事が出来ます。
- 管理者が不適切な登録を削除できます。
うまく動いたら「菊池さんちの掲示板」の方にもその旨書き込んでいただくと大変うれしいです。
作成手順を説明します。
- プログラムをダウンロードします.
- ダウンロードしたプログラムを編集します.
- プログラムを呼び出すHTMLファイルを編集します.
- プログラムとHTMファイルをサーバに転送し、実行権を設定をします.
■ プログラムをダウンロードします。
- TerraさんのTryTheHomePageのダウンロードコーナー「その他」「オールドスクリプト」から「バナーEX(bannerex)」をダウンロードして下さい。ダウンロードしたらメールで送られてきますのでファイル名を「bannerex.cgi」に変更します。
- bannerex.pl (バナー登録リンク集スクリプト)
- jcode.pl (日本語コード変換プログラム。すでにお持ちの方はダウンロードの必要はありません。それを使いましょう。ない人は同じページにダウンロードする場所がありますので、そこからダウンロードします)
ダウンロードの方法は、「お名前」「E-Mail」「ホームページ」を記入しダウンロードボタンを押します。記入されたE-Mailアドレスにプログラムが送信されます。
■ ダウンロードしたプログラムを編集します。
- bannerex.cgi
- 1行目 #!/usr/local/bin/perl をあなたのプロバイダの「perlのあるパス」に書き換えます。
多くのプロバイダはこの指定で大丈夫と思いますが、うまくいかない場合はプロバイダに問い合わせて下さい。Infowebの場合は #!/usr/bin/perl になります。
- 16行目 $homepage = 'http://wwwxx.xxxxxxxx.or.jp/~xxxxxx/index.htm'; を あなたのホームページのURLにします。私の場合は、$homepage = 'http://kikuchisan.net/index.htm'; になります。
- 45行目 $password = 'abc123'; の abc123 を あなたのパスワードに必ず変更します。このパスワードは「管理者メンテナンスモード」で使用します。
[注記]
jcode.plのディレクトリー指定の方法(手持ちの jcode.pl を使う場合)
いくつかのCGIを設置してて、jcode.plを共通に使ってる方は、jcode.plを違うディレクトリーに置いてあると思いますので、bannerex.cgiの jcode.pl のディレクトリー指定を書き換えます。パスの指定のしかたはこちらです。
■ プログラムを呼び出すHTMLファイルを編集します。
- index.htm から バナー登録リンク集bannerex.cgi をリンクするには index.htm の
なかに
<A HREF="bannerex.cgi">バナー登録リンク集</A>
と記述します。
■ プログラムとHTMファイルをサーバに転送し、実行権を設定をします。
- bannerex.cgi、jcode.pl、index.htm の3つのファイルをサーバ側のindex.htmと同じディレクトリにアスキーモードで転送します。
- データ収集用ファイル linkvew.dat はCGIが自動で作成しますのでアップする必要は有りません。
- ファイルの構成と実行権
転送が終わったら、bannerex.cgi、jcode.pl にパーミッション(実行権)「755」を設定します。
index.htm
bannerex.cgi (755)
jcode.pl (755)
さぁ,これで完成です。index.htmを再読み込みし、バナー登録リンク集をクリックしてみましょう。新着情報のページが表示されれば完成です。
■ データ変換用CGI
- 旧linkvew.cgiのデータを新bannerex.cgiデータに自動変換するスクリプトbxconv.cgiです。bannerex.cgiを1度実行してlinkvew.datを生成した後に使います。
- このCGIは以下のディレクトリ構成を前提にしています。
bannerex.cgi
linkvew.dat (bannerex,cgi用データファイル、実行権666)
bxconv.cgi (本CGI、実行権755)
linklink--+---linkvew.cgi
+---link.txt (linkvew.cgi用データファイル、実行権666)
- スクリプトをマウスでドラッグし「コピー」→「貼り付け」すると簡単にコピーできます。
#!/usr/local/bin/perl
#↑あなたが加入しているプロバイダの「perl」言語が使用できるパスを指定します。
#一般的に「#!/usr/local/bin/perl」で大丈夫。
#############################################################################
# データ変換スクリプト bxconv.cgi
# Copyright (c) 1998 「菊池さん」
#############################################################################
$infile = 'linklink/link.txt'; #linkvew.cgi用データファイルのURL
$outfile = 'linkvew.dat'; #bannerex.cgi用データファイルのURL
$pass ="123abc"; #登録/変更/削除用パスワード
$item ="インターネット"; #ジャンル
#=========初期設定が必要なのはここまでです。==================================
#ファイルにデータを読み込む
open(IN,"$infile") || die "Can't open data file.\n";
@DATA = ;
close(IN);
$s = 0;
foreach $line (@DATA) {
($runc,$date,$code,$access,$name,$email,$HP,$gif,$hpname,$subtitle,$memo,$ken,$tiku)
= split(/\,/,$line);
($http,$HP) = split(/\/\//,$HP);
($http,$gif) = split(/\/\//,$gif);
$value = "$s\,$access\,$name\,$pass\,$email\,$item\,$hpname\,$HP\,$gif\,$memo\n";
$DATA[$s] = $value;
$s ++;
}
#ファイルへデータを書込む
@DATA = reverse(@DATA);
open(OUT,">$outfile") || die "Can't open data file.\n";
eval 'flock(OUT,2);';
print OUT @DATA;
eval 'flock(OUT,8);';
close(OUT);
#正常終了メッセージ出力
print "Content-type: text/html\n\n";
print "バナーリンク用データ変換が正常に完了しました。";
|
|
|