一坪 | 「このプログラムは 私が楽をするためだけに作ったやつです。」 |
アイカ | 「そんな堂々と言わなくても……。」 |
一坪 | 「だから、よくあるリンク用のCGIプログラムとは基本コンセプトが違います。」 |
アイカ | 「どう違うんですか〜?」 |
一坪 | 「よくあるリンク用のは、HPを持ってる方に登録してもらうのが目的に作られてますが、 私が作ったやつは自分で利用するのが目的なのです。 簡単に言えばリンクページ専用の作成ソフトって感じです。」 |
アイカ | 「なるほどー。あくまでも自分で使うのが目的なんですねゥ」 |
一坪 | 「そうです。といっても他の人に登録してもらうようにも使えます。」 |
アイカ | 「ようは使う人次第なんですねゥ」 |
一坪 | 「『二兎を追う者は一兎をも得ず』ってやつです。」 |
アイカ | 「それは違います。」 |
一坪 | 「そうですか。」 |
アイカ | 「ま、いいです。それよりもプログラムの特徴を教えてくださいゥ」 |
一坪 | 「了解。」 |
|
一坪製リンク作成プログラムの特徴
いい感じ
・通常リンクと軽量リンクの2つを同時に作れる(通常リンクのみも可)
・HTMLファイルに出力する
・タグ部分の改造をすれば、今まで使ってたリンクページがそのまま使える
いやな感じ
・修正、削除は手動でやらなくちゃいけない
・CGIを使える環境でしか作成できない
・タグを知らないと改造が難しい
|
---|
|
アイカ | 「なんか、全然良くないような気がするんですけど……。」 |
一坪 | 「まあ、あくまでもCGIプログラムの設置の練習ってコトなので。」 |
アイカ | 「そうですけど……。」 |
一坪 | 「ちょっと補足しときます。」 |
|
HTMLファイルに出力する
HTMLファイルに出力するということは、普通のページと同じように扱えるというコトです。
他にもCGIを使わずに表示ができるのもメリットです。
ほとんどの掲示板などのCGIプログラムはデータとして保存するので、
表示するときもCGIを使うためサーバに負担がかかって重くなったりします。
タグ部分の改造をすれば、今まで使ってたリンクページがそのまま使える
すでにHPを運営してる人は、今公開してるリンクページのファイルをそのまま利用できます。
修正、削除は手動でやらなくちゃいけない
修正、削除機能はないので、普通のページと同じようにエディタで直すことになります。
CGIを使える環境でしか作成できない
まずCGIが使えるサーバが必要です。
あとネット上のサーバを使うには、当然ネットに繋いでないと作成できません。
タグを知らないと改造が難しい
HTMLファイルはHP作成ソフトで作ればいいですが、
CGIファイルの改造はHP作成ソフトではできないかと。(高機能なソフトならできるかも?)
|
---|
|
一坪 | 「といったところですね。」 |
アイカ | 「それじゃあ、いよいよ具体的な設置方法ですねゥ」 |
一坪 | 「まず↓この link.lzh というファイルをダウンロードして解凍してください。」 |
|
link.lzh
解凍すると
link.cgi
register.html
link.html
link_light.html
jcode.pl
の5つのファイルと、
lock
という1つのディレクトリができます。
|
---|
|
アイカ | 「これだけで使えるんですか〜?」 |
一坪 | 「はい。他のファイルは必要ありません。」 |
アイカ | 「えと、次は何をするんですか〜?」 |
一坪 | 「link.cgi を自分のサーバに合わせて修正します。」 |
アイカ | 「うう……難しそう………。」 |
一坪 | 「大丈夫です。たった1行を修正するだけでから。」 |
アイカ | 「ε=(o⌒ )ほっ」 |
一坪 | 「link.cgi の1番最初の行を修正します。」 |
|
|
一坪 | 「↑この部分(perlのパス)をサーバに合わせて修正してください。」 |
アイカ | 「どうやってサーバに合わせるんですか〜?」 |
一坪 | 「これはサーバ(プロバイダ)のHPで調べるか、問い合わせてください。」 |
アイカ | 「うーーーめんどいですー。(ーー)」 |
一坪 | 「でも、だいたいは修正せずに |
|
|
| のままでいいです。このまま修正せずに設置して、もしエラーが出たら |
|
|
| に修正して試してみてください。それでもエラーが出るようだったら調べればいいです。」 |
アイカ | 「あ、そうなんですかゥ」 |
一坪 | 「ただし、違う部分でエラーが出てるかもしれないのでご注意を。」 |
アイカ | 「他は修正しなくていいんですよね?」 |
一坪 | 「はい。あとはそのままでOKです。」 |
アイカ | 「じゃあ、次はこのファイルをサーバに転送するんですねゥ」 |
一坪 | 「ええ。CGIが使えるディレクトリにアスキー転送して下さい。」 |
アイカ | 「そしたらパーミッションの変更ですねゥ」 |
一坪 | 「お! CGIの説明ページのコトちゃんと覚えてるんですね。(⌒¬⌒)」 |
|
以下の3つのファイルのパーミッションを指定通りに変更してください。
ファイル | パーミッション |
link.cgi | 755 |
link.html | 666 |
link_light.html | 666 |
そしたら lock というディレクトリのパーミッションを777に変更してください。
これだけでOKです。
|
---|
|
一坪 | 「ポイントはHTMLファイルのパーミッションを666にすることです。」 |
アイカ | 「HTMLファイルに書き込むからですねゥ」 |
一坪 | 「そのとおり! なんか賢いですねー。まるで進行をスムーズにするためみたい。」 |
アイカ | 「も、も〜〜お、そんなわけないじゃないですか〜〜ゥ」 |
一坪 | 「そうですね。はっはっはっは!」 |
アイカ | 「そうですよぉゥ あはははははゥ」 |
一坪 | 「というわけで以上で完成です。」 |
アイカ | 「えっ!? これだけですか?」 |
一坪 | 「はい。」 |
アイカ | 「ということは、ついに実際にプログラムを実行するんですねゥ」 |
一坪 | 「http://www.url.com/cgi-bin/register.html にアクセスしてください。」 |
アイカ | 「『http://www.url.com/cgi-bin/』の部分は自分のHPアドレスですねゥ」 |
一坪 | 「もちろんそうです。」 |
アイカ | 「あ、書き込みページが出ましたゥ」 |
一坪 | 「こんな↓感じに書き込んで[登録する]ボタンを押してください。」 |
一坪 | 「『改造』……なんて甘美な響き………ゥ」 |
アイカ | 「怖いーーー!!(TT)」 |
一坪 | 「フッ。しょせん改造は男の美学。」 |
アイカ | 「美学って……。もういいですから進行してください。」 |
一坪 | 「(もっと陶酔したかったのに……) では link.cgi ファイルの改造方法を説明します。」 |
|
link.cgi
############################################################################
$lightmake = 1; |
#軽量リンクを作らないときは 0 にする |
$link = "link.html"; |
#通常リンクのファイル名 |
$light = "link_light.html"; |
#軽量リンクのファイル名 |
$lockfile = "./lock/lockfile"; |
#ロックファイル名 |
############################################################################
|
---|
|
一坪 | 「まずは軽量リンクなんかいらないという場合は |
|
$lightmake = 1;
↓
$lightmake = 0;
|
---|
|
| のようにしてください。」 |
アイカ | 「これは簡単ですねゥ」 |
一坪 | 「はい。」 |
アイカ | 「次はリンクページのファイル名を変えるんですねゥ」 |
一坪 | 「説明に書いてあるとおり、以下の例のように使用ファイル名に変更してください。」 |
|
$link = "link.html";
$light = "link_light.html";
↓
$link = "normal.html";
$light = "light.html";
|
---|
|
一坪 | 「ちゃんと、そのファイルも転送してパーミッションを666にして下さい。」 |
アイカ | 「分かりましたぁゥ」 |
一坪 | 「今まで自分が使ってたリンクファイルを使用する場合は、 必ずバックアップしといて下さい。」 |
アイカ | 「ファイルが壊れたら大変ですもんねゥ」 |
|
$lockfile = "./lock/lockfile";
|
---|
|
一坪 | 「この部分は変更しなくていいです。」 |
アイカ | 「ロックファイルってなんですか〜?」 |
一坪 | 「簡単に言えば、ファイルを壊れないようにするために一時的に作るファイルです。」 |
アイカ | 「一時的?」 |
一坪 | 「はい。一瞬だけ作ってすぐ削除されます。
ただし重いサーバだと削除されずにロックファイルが残ってしまう可能性があります。 その場合はサーバの lock ディレクトリに残ってる lockfile を削除して下さい。 プログラムの改造をしてエラーが出た場合も残る可能性があるので、 もし残ってたら削除してください。」 |
|
<lock> ←ディレクトリ
┗ lockfile ←残ってたら削除
|
---|
|
アイカ | 「エラーが出たらチェックですねゥ」 |
一坪 | 「このことは超重要なので覚えておいて下さい。」 |
アイカ | 「では具体的に改造する場所を教えてくださいゥ」 |
一坪 | 「順番は逆ですが分かりやすいので軽量リンクの方を先に説明しますね。」 |
アイカ | 「はいゥ」 |
|
#軽量リンクHTML書き出し
|
if ($lightmake) {
$formatl=<<EOFL;
|
軽量リンクを作るか判断
ここからEOFLまでを$formatlに入れる
|
<LI><B>
<A HREF=\"$url\">
$title
</A>
</B>
$name
<FONT SIZE=2>さま</FONT><BR>
|
ここのタグ部分を改造する
|
EOFL
}
|
ここで$formatlに入れる部分は終わり
|
---|
|
---|
|
一坪 | 「これを実際に出力すると↓こうなります。」 |
アイカ | 「軽量リンクのHTMLファイル(link_light.html)に書き込まれるんですねゥ」 |
|
<LI><B>
<A HREF="http://www.naguri.com/">
書き殴り(再)
</A>
</B>
没市
<FONT SIZE=2>さま</FONT><BR>
|
---|
|
一坪 | 「で、改造するのは背景色がレモン色の部分です。」 |
アイカ | 「『ここのタグ部分を改造する』ってトコですねゥ」 |
一坪 | 「はい。そこのタグを改造してください。」 |
アイカ | 「タグはよく分かんないですぅ。」 |
一坪 | 「そんなときはHP作成ソフトでまず作って、完成したタグをコピー&ペーストします。」 |
アイカ | 「どうやるんですか〜?」 |
一坪 | 「例えばHP作成ソフトで↓こんなのを作ったとします。」 |
|
書き殴り(再)
没市
さま
|
<p><b><i><font size=+4><a href="http://www.naguri.com/">書き殴り(再)
</a></font></i> </b>
<font size=+3><b>没市</b>
</font><font size=+2>さま</font>
<br>
|
---|
|
一坪 | 「そしたら↑このタグの部分をコピーします。」 |
アイカ | 「あ、タグを表示させる方法はHP作成ソフトによって違うので自分で調べてくださいねゥ」 |
一坪 | 「で、↓このように改造部分に貼りつけ(ペースト)します。」 |
|
#軽量リンクHTML書き出し
|
if ($lightmake) {
$formatl=<<EOFL;
|
<p><b><i><font size=+4><a href="http://www.naguri.com/">書き殴り(再)
</a></font></i> </b>
<font size=+3><b>没市</b>
</font><font size=+2>さま</font>
<br>
|
EOFL
}
|
---|
|
---|
|
アイカ | 「元のタグの部分は削除するんですねゥ」 |
一坪 | 「ええ。スパッと削除しちゃってください。」 |
アイカ | 「次はどうするんですか〜?」 |
一坪 | 「まずCGIについてで覚えたとおり " を \" にします。」 |
アイカ | 「あ、忘れるとこでした。」 |
一坪 | 「ホントのことを言うと、この部分の改造に関しては \ を付けなくてもいいんですが、 普段から \ を付けるのをクセにしとくためにも。」 |
アイカ | 「そうですねゥ 慣れておいた方がいいですもんねゥ」 |
一坪 | 「そして次は、このままだと『書き殴り(再)』と出力しちゃうので変数を使います。」 |
アイカ | 「あ、さっきの対応表を使って 書き殴り(再)の部分を $title のように変数名に変更するんですねゥ」 |
一坪 | 「スバラシイ! そのとおりです!」 |
アイカ | 「えへへへへゥ」 |
一坪 | 「で、変換すると↓こうなります。」 |
|
#軽量リンクHTML書き出し
|
if ($lightmake) {
$formatl=<<EOFL;
|
<p><b><i><font size=+4><a href=\"$url\">$title
</a></font></i> </b>
<font size=+3><b>$name</b>
</font><font size=+2>さま</font>
<br>
|
EOFL
}
|
---|
|
---|
|
アイカ | 「できたぁゥ これでもう改造完了ですか〜?」 |
一坪 | 「ええ。完成です。」 |
アイカ | 「やりーゥ でも、やっぱ難しそうですぅ。」 |
一坪 | 「大丈夫です。実際にやってみればすぐ分かります。」 |
アイカ | 「そうですかー。」 |
一坪 | 「もしエラーが出たら、もう一度CGIについてを読んで、確認してみてください。」 |
アイカ | 「はーーーーいゥ」 |
一坪 | 「出力結果は↓こうなります。」 |
|
<LI>
<TABLE BORDER CELLPADDING=5 WIDTH=90% BGCOLOR=#EEEEEE>
<TR><TH><FONT SIZE=6>
<A HREF="http://www.naguri.com/">
書き殴り(再)
</A>
</FONT></TH>
<TH ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30%>
<FONT SIZE=4 COLOR=#D511A9>
没市
<FONT SIZE=2>さま</FONT></FONT></TH></TR><TR>
<TH ALIGN=LEFT COLSPAN=2><FONT SIZE=4>
<A HREF="http://www.naguri.com/">
<IMG SRC="http://www.ipc-tokai.or.jp/~fltearth/kakiy2k.gif" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
たぶんホームページ
</FONT></TH></TR></TABLE><HR SIZE=5>
|
---|
|
アイカ | 「げげげげー! 難しそー!!」 |
一坪 | 「いや、そんなことないですよ。テーブルタグを使ってるから複雑そうに見えますが。」 |
アイカ | 「ほんとですか〜?」 |
一坪 | 「はい。だから改造方法は軽量リンクと同じです。」 |
アイカ | 「ふむむむむ。そうなんですかー。」 |
一坪 | 「というわけで説明は省きます。」 |
アイカ | 「ええっ!?」 |
一坪 | 「だって同じ説明をくり返してもしょうがないもーーーん。」 |
アイカ | 「もーーーんって言われても……。でも説明がないと不安ですぅ。」 |
一坪 | 「とにかく『ここのタグ部分を改造する』のトコは同じ改造方法でいいです。」 |
アイカ | 「むーー……分かりました……。」 |
一坪 | 「というわけで、軽量リンクにはなかった部分の説明をします。」 |
|
if ( $banner ne "" ) {
|
$format = "$format<A HREF=\"$url\">\n<IMG SRC=\"$banner\" ALIGN=LEFT WIDTH=$width HEIGHT=$heigh BORDER=3></A>\n";
|
}
|
$format = "$format$text\n</FONT></TH></TR></TABLE><HR SIZE=5>\n\n\n";
|
---|
|
---|
|
---|
|
一坪 | 「まずバナーを使わない場合は↑この部分は全部削除してください。」 |
アイカ | 「え!? 大丈夫なんですか〜?」 |
一坪 | 「はい。ここはバナーのための処理なので。そのかわり『ここのタグ部分を改造する』に |
|
<LI>
<TABLE BORDER CELLPADDING=5 WIDTH=90% BGCOLOR=#EEEEEE>
<TR><TH><FONT SIZE=6>
<A HREF=\"$url\">
$title
</A>
</FONT></TH>
<TH ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30%>
<FONT SIZE=4 COLOR=#D511A9>
$name
<FONT SIZE=2>さま</FONT></FONT></TH></TR><TR>
<TH ALIGN=LEFT COLSPAN=2><FONT SIZE=4>
$text
</FONT></TH></TR></TABLE><HR SIZE=5>
|
|
| のように青い部分を追加して下さい。」 |
アイカ | 「コメントとテーブルタグを閉じる部分を追加するんですねゥ」 |
一坪 | 「はい。もちろんこの部分のタグも改造OKです。」 |
アイカ | 「了解ゥ」 |
一坪 | 「では、はじめます。」 |
アイカ | 「改造するのは背景色がレモン色の部分ですねゥ」 |
一坪 | 「はい。そこのタグ部分です。」 |
アイカ | 「だけどタグ以外のモノがあるんですけど〜?」 |
一坪 | 「ええ。最初に \n について説明します。」 |
アイカ | 「\ が付いてるってコトはエラーや文字化け対策ですか〜?」 |
一坪 | 「ノンノンノン。\n の場合は特別な意味があるザンス。」 |
アイカ | 「特別な意味? ってゆーかザンス?」 |
一坪 | 「\n の意味は改行です。」 |
アイカ | 「? 改行は<BR>ですよー?」 |
一坪 | 「それはタグの改行です。\n は文書の改行。」 |
アイカ | 「????」 |
一坪 | 「実例で説明すると、 |
|
<A HREF=\"http://www.url.com/\">\n<IMG SRC=\"http://www.url.com/banner.gif\" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
|
---|
|
| を出力すると |
|
1 <A HREF="http://www.url.com/">
2 <IMG SRC="http://www.url.com/banner.gif" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
|
---|
|
| と、改行されて2行で出力されます。
\n を付けずに、 |
|
<A HREF=\"http://www.url.com/\"><IMG SRC=\"http://www.url.com/banner.gif\" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
|
---|
|
| で出力すると |
|
1 <A HREF="http://www.url.com/"><IMG SRC="http://www.url.com/banner.gif" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
|
---|
|
| のように改行されずに、そのまま1行で出力されます。」 |
アイカ | 「なるほど〜〜ゥ」 |
一坪 | 「そんなわけで \n は別に使わなくてもOKです。」 |
アイカ | 「ブラウザで見たときは同じですしねゥ」 |
一坪 | 「つづいてHTMLファイルの改造方法です。」 |
アイカ | 「うーーーCGIプログラムだけでも大変なのにー……。」 |
一坪 | 「安心してください。めちゃ簡単ですから。」 |
アイカ | 「りありー?」 |
一坪 | 「たった1行だけ注意すればOKなのです。」 |
アイカ | 「ほほうゥ」 |
|
|
一坪 | 「HTMLファイルに↑この行さえあれば問題ナッシングです。」 |
アイカ | 「へーーー。簡単ですねゥ」 |
一坪 | 「その1行以外は、もうホントに自由にやって下さい。」 |
アイカ | 「で、その行は何の意味があるんですか〜?」 |
一坪 | 「一言で言えば目印です。」 |
アイカ | 「何の目印ですか〜?」 |
一坪 | 「書き込み位置のです。その行の下に追加していくのです。」 |
|
<!-- LINK -->
<LI>
<TABLE BORDER CELLPADDING=5 WIDTH=90% BGCOLOR=#EEEEEE>
<TR><TH><FONT SIZE=6>
<A HREF="http://www.naguri.com/">
書き殴り(再)
</A>
</FONT></TH>
<TH ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30%>
<FONT SIZE=4 COLOR=#D511A9>
没市
<FONT SIZE=2>さま</FONT></FONT></TH></TR><TR>
<TH ALIGN=LEFT COLSPAN=2><FONT SIZE=4>
<A HREF="http://www.naguri.com/">
<IMG SRC="http://www.ipc-tokai.or.jp/~fltearth/kakiy2k.gif" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
たぶんホームページ
</FONT></TH></TR></TABLE><HR SIZE=5>
|
---|
|
一坪 | 「登録すると↑このように <!-- LINK --> の真下に追加されていきます。」 |
アイカ | 「ということは新しく登録したのが一番上に来るんですねゥ」 |
一坪 | 「そのとーりです。上のやつに、さらに新しいのを登録すると↓こうなります。」 |
|
<!-- LINK -->
<LI>
<TABLE BORDER CELLPADDING=5 WIDTH=90% BGCOLOR=#EEEEEE>
<TR><TH><FONT SIZE=6>
<A HREF="http://www.naguri.com/">
[S]殴り書き
</A>
</FONT></TH>
<TH ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30%>
<FONT SIZE=4 COLOR=#D511A9>
土平 一
<FONT SIZE=2>さま</FONT></FONT></TH></TR><TR>
<TH ALIGN=LEFT COLSPAN=2><FONT SIZE=4>
<A HREF="http://www.naguri.com/">
<IMG SRC="http://www.ipc-tokai.or.jp/~fltearth/kakiy2k.gif" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
おそらくホームページ
</FONT></TH></TR></TABLE><HR SIZE=5>
<LI>
<TABLE BORDER CELLPADDING=5 WIDTH=90% BGCOLOR=#EEEEEE>
<TR><TH><FONT SIZE=6>
<A HREF="http://www.naguri.com/">
書き殴り(再)
</A>
</FONT></TH>
<TH ALIGN=RIGHT VALIGN=BOTTOM WIDTH=30%>
<FONT SIZE=4 COLOR=#D511A9>
没市
<FONT SIZE=2>さま</FONT></FONT></TH></TR><TR>
<TH ALIGN=LEFT COLSPAN=2><FONT SIZE=4>
<A HREF="http://www.naguri.com/">
<IMG SRC="http://www.ipc-tokai.or.jp/~fltearth/kakiy2k.gif" ALIGN=LEFT WIDTH=200 HEIGHT=40 BORDER=3></A>
たぶんホームページ
</FONT></TH></TR></TABLE><HR SIZE=5>
|
---|
|
アイカ | 「あ! じゃあ今まで使ってたリンクページに <!-- LINK --> の1行を追加すればそのまま使えるんですねゥ」 |
一坪 | 「はい。注意としては <!-- LINK --> は必ず1つだけにして下さい。」 |
アイカ | 「2つ以上あったら、ドコに追加すればいいか分かりませんもんねゥ」 |
一坪 | 「念のために書いておくと軽量リンクの方にも <!-- LINK --> が必要です。」 |
アイカ | 「お忘れなくゥ」 |
アイカ | 「これで改造方法の説明は終わりでーーすゥ」 |
一坪 | 「まあ改造といっても今回はタグを変更してデザイン変更する方法でしたが。」 |
アイカ | 「プログラムの改造方法はしないんですか〜?」 |
一坪 | 「私に死ねと?」 |
アイカ | 「いえ、そうは言ってませんが……。」 |
一坪 | 「プログラムの改造をしたい人は、とにかく努力です。」 |
アイカ | 「嘘つき。」 |
一坪 | 「う……そりゃ確かに私はシックス・センスでプログラムいじってますが……。」 |
アイカ | 「じゃあカンでプログラムを改造する方法を教えてくださいよー。」 |
一坪 | 「それは長年の修行の成果としか言いようがないので……。」 |
アイカ | 「修行?」 |
一坪 | 「プログラムというのは、どれでも基本的な構造はだいたい同じなので、 修行をつんでると、なんとなく『これはこんな処理をしてるんだな』とか分かるのです。」 |
アイカ | 「むむむー?」 |
一坪 | 「中華料理人がフランス料理を作っても、それなりに美味しいものが出来るってコトです。」 |
アイカ | 「なるほどー!!!」 |
一坪 | 「とにかく、どんな改造でも重要なポイントは少しずつやることですね。」 |
アイカ | 「ふむ。こまめにテストしながらやれば、どこでミスったか分かりやすいですもんねゥ」 |
一坪 | 「はい。慣れてコツをつかんじゃえば簡単なのでガンバって下さい。」 |