アクセスカウンタで

[上に] [前に] [次に]
すがしん [E-Mail] 1999/12/28(火) 05:18:17
アクセスカウンタをHPにつけたいんですが、
CGIと画像のディレクトリが別々なので上手くいきません。
ほとんどの提供カウンタがおなじディレクトリに転送することが前提で説明されているので
別々に転送して設置できるカウンタ提供をしているページを知っている方いたら教えてください。

The Lock 1999/12/28(火) 08:35:56
ロォック様、曰く
別に、違うディレクトリでもいいと思うぞ
というわけで、既存のスクリプトの変更の仕方だ。

スクリプトが http://...../xxx.cgi
画像が http://...../gazou/x.gif

だとすれば

画像ファイルを指定しているところで、
「x.gif」とかいう記述があるから、それを
「../gazou/x.gif」に変えてしまえばいいのだ。

ちなみに、「../」というのは「ひとつ上のディレクトリ」という意味だ。

まずは、そのスクリプトを、よぉ〜〜〜く眺めるんだな。

The Lock 1999/12/28(火) 08:52:28
ロォック様、曰く
さっきの発言は、大嘘だな。まぁ、許しておくれ。

例は、上と同じとして、
>「x.gif」とかいう記述があるから、それを
>「../gazou/x.gif」に変えてしまえばいいのだ。

これは、
「gazou/x.gif」に変えてしまえばいいのだ。
の間違いだ。スマン。

>ちなみに、「../」というのは「ひとつ上のディレクトリ」という意味だ。

これは、言ってること自体は間違いではない。

すがしん 1999/12/28(火) 18:09:32
たとえば
http://www.kent-web.com/count/daycount.html?
にあるカウンタを使うとしたらどうやって画像を呼び出すんでしょうか?

The Lock 1999/12/28(火) 18:39:41
ロォック様、曰く
ちゃんと
>http://www.kent-web.com/count/daycount.html?
に書いてるじゃないか。

--- ロォック様曰く、ここから引用 ---
     public_html / index.html ... ここにカウンタを設置するものとする
          |
          |
          +-- cgi-bin [777] / daycount.cgi [755]
                 |            daycount.dat [666]
                 |            gifcat.pl    [644]
                 |
                 +-- gif1 / 0.gif
                 |          1.gif
                 |           :
                 |          9.gif
                 |
                 +-- gif2 / 0.gif
                            1.gif
                             :
                            9.gif
--- ロォック様曰く、引用ここまで ---

つまり、この例だと
http://......./cgi-bin/daycount.cgi がスクリプトのURL
http://......./cgi-bin/gif1/0.gif 〜 9.gif が画像(総カウント用)
http://......./cgi-bin/gif2/0.gif 〜 9.gif が画像(昨日本日カウント用)
ってことだ。

ロォック様曰く、もとからこのスクリプトは、スクリプトのディレクトリと画像ディレクトリは別々になってるのだ。

でもって、上の設定以外のディレクトリ構成にしたい場合は、daucount.cgiスクリプトの中に

>$gif_path1 = './gif1'; # 総カウント用GIF画像のディレクトリ
>$gif_path2 = './gif2'; # 本/昨日カウント用GIF画像の 〃

こういう記述があるから、ロォック様曰く、これを変更すればいいのだ。

すがしん 1999/12/28(火) 19:33:38
それは理解してるんですが・・・。
要するに僕の場合CGIを実行するのには
http://hpcgi1.nifty.com/~xxx/〜.cgi
で画像やらhtmやらは
http://homepage1.nifty.com/~xxx/〜.gif
としなけりゃならないんです。
public_htmlとcgi-binのディレクトリが別々で。
だからgif以外をcgi-binのディレクトリにgifをpublicのgif1、gif2のフォルダに転送したんですが。
こういうことです。  

    ---public_html/index.html
   |              /gif1/0.gif〜9.gif
---|         /gif2/0.gif〜9.gif
   |
    -------cgi-bin/daycount.cgi
                   daycount.dat
                   gifcat.pl

こういうときパスとかどうすればいいんでしょう?
index.htmlに入れるタグはフルで
<img src="http://hpcgi1.nifty.com/~xxx/daycount.cgi?today">

daycount.cgiの中の画像のディレクトリを
$gif_path1 = 'http://homepage1.nifty.com/~xxx/gif1';
に書き換えてみたんですけど画像がxになって出てくれません。
どうしたらいいのやら。

ラウォッチ 1999/12/28(火) 22:07:55
>$gif_path1 = 'http://homepage1.nifty.com/~xxx/gif1';
仮想パスの問題でなく、相対パスでいきましょう。

CGIのあるディレクトリからGIFのあるディレクトリを相対パスで指定します。
たとえば、
    ---public_html/index.html
   |              /gif1/0.gif〜9.gif
---|         /gif2/0.gif〜9.gif
   |
    -------cgi-bin/daycount.cgi
                   daycount.dat
                   gifcat.pl
の場合、daycount.cgiの中の画像のディレクトリは

$gif_path1 = '../../public_html/gif1';

になります。

ラウォッチ 1999/12/28(火) 22:22:37
まちがえました。
$gif_path1 = '../public_html/gif1';
のような気がします。ゴメン!

すがしん 1999/12/28(火) 23:02:42
[[解決]]
ありがとうございました!
できました!

TOM neko [E-Mail] 1999/12/28(火) 23:23:36
@niftyの場合、cgi-binディレクトリの中のファイルは httpで呼び
出せないのですが、CGIスクリプトから呼び出す画像やファイルは
cgi-binディレクトリの中に置いても大丈夫です。

つまり今回のアクセスカウンターの場合、わざわざhomepageディレ
クトリに画像を置かなくても良いのです。

ただしCGIが出力したページの記述が<IMG src="hoge.gif">となる
ような場合には
<IMG src="http://homepage1.nifty.com/~xxx/hoge.gif">と出力さ
れるようにして homepageディレクトリ内に置いた画像を呼び出す
ようにしないと表示されませんから要注意です。

[上に] [前に] [次に]