| 『CGIソースの修正』
色々設定箇所はあるんだけど、『これだけ設定したら動く!』という部分だけ
抜粋して書いてみますね。
っと、修正方法を説明する前に、みなさんが苦手だと思われる「パス」について
説明しましょう。ちなみにですが僕が苦手なのは「シイタケと梅干し」です。(爆)
上記のフォルダ構成は下記の通りでしたね。
---cgi-bin--
|--jcode.pl
|--next.gif
|--back.gif
|--bbs--
| |--gif
| | |--kakikomitai.gif
| |--kakikomitai.cgi
| |--kakikomitai.txt
|--dialy--
| |--tackynote.cgi
| |--tackynote.txt
各ファイルへのパスの表現方法は↓んな感じかな
| 問題 |
答え |
| kakikomitai.cgiから見た、jcode.plは? |
../jcode.pl |
| kakikomitai.cgiから見た、kakikomitai.txtは? |
./kakikomitai.txt |
| kakikomitai.cgiから見た、kakikomitai.gifは? |
./gif/kakikomitai.gif |
|
■1階層の区切りは「/」で表現します。
■「一つ上の階層にある場合は点が2個くっつきます」=「../」ね。
■「二つ上の階層にある場合は、上記の2倍!」=「../../」ね。
■「三つ上の階層にある場合は、上記の3倍!」=「../../../」ね。
■「四つ上・・・・ってもういいよね?(^^ゞ」
■「一つ下の階層にある場合は「./」で自分の場所という事になっているので、
=「./xxx」となり、「自分の下にxxxとなります」
※CGIの設置時は、「"自分"=CGIの位置」なので、
「CGI本体を設置しようとした場所から見た、他のファイルの位置」を
指定する事になります。
| ファイルの位置を指定する場合での注意&楽になるコツ |
| 書き込みを行うファイル(ログファイルの事ですね〜)は、「http://〜xxx.txt」のようにhttpからのパスで表記するとエラーになります。必ず上記で説明したようなパスでの記述を行って下さい。 |
| 画像ファイルは『ファイルに対して書き込み処理』は行わないので、「http://〜/xxx.gif」のようにhttpからの指定した方が楽ですね♪ |
|
さて、それでは説明のお時間です。
上記の「3」で書いたやつっすよ!頼むよ〜これを正しい内容にしておくれよ〜♪
ここは大事だじょー!
日本語をお使いのあなた!これが無いと
文字化け化け〜になっちゃうので使わないとダメなんですぜぃ〜
という事で、jcode.plを設置した場所を指定するのだぁー!
上記で説明したように、「一つ上の階層にjcode.plを設置した」ならば、
「require '../jcode.pl';」となるのは理解出来ましたか〜?
| ■$script = "./CGIスクリプト名"; |
ここは、自分(CGI)の名前を指定する部分です。
ここが「一つ上の階層」とか「一つ下の階層」等になることは
絶対にありません。「自分の位置」を指定するのですからね。
また、ここでもよく指定ミスがありますね〜
たとえば、掲示板スクリプト『mkakikomitai.cgi』の名前を
「bbs.cgi」とファイル名を変更したとします。
その場合、ここの指定も「$script = "./bbs.cgi";」と修正しないと
設置は出来るけど、投稿したら『ページが見つからない』等の
エラーになる原因となりますのでご注意下さい。
あとねぇ、サーバーによっては、「$script = "http://bbs/スクリプト名.cgi";」の
ように「http」からの指定を行わないと、投稿後にページが表示されないで
ダンマリしてしまい、再度見てみると「ありゃー投稿はされているでぇ!」という
現象になる場合もあります。
CGI本体と同じ位置(階層)に置くのであれば、「./ログファイル名」で
オッケー。普通は同じ位置だよね?違う?(^^ゞ
上記で説明したように、パスの表記がわからないー!といって、
「http」から指定するとエラーになるからねー!
答えは一つ!
「画像はhttpから指定すれば間違いない!」です。
よく「アイコンが表示されない」とサポート掲示板で質問がありますが、
それは「パスが間違っている」・「サーバーの制限でそのフォルダに画像は
設置出来ない」という理由しか無いんですわぁ。
『画像をアップしたのに表示されません!』という時は、まずは
ブラウザを開いて、自分がアップロードした画像を直接呼び出して
見てください。
それで「見つかりません、とか表示出来ません。」となったら、上記の理由という事になります。
CGIを設置して画像が表示されない場合、
画像が「×」で表示されますよねぇ?
その×の位置でWindowsをお使いの人(Macな方ごめんねぇ、Macは
わからないのぉ〜(^^;;;)であれば、「右クリック→プロパティー」を押下
すると画像ファイルへのアドレスが表示されているはずです。
それが自分の思った場所でないんじゃないかな〜〜〜?
|