• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カウンタ)

カウンタをCGIで作成する方法とは?

このQ&Aのポイント
  • カウンタをCGIで作成する方法を教えてください。
  • KENT WEBさんのdaycountを使用しているが、画像が表示されない問題が発生しています。
  • カウンタの設置は難しいのでしょうか?親切なサイトや原因を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.8

#2、#4、#6、#7です。 ものすご~くシンプルな答えのようです。 ロリポップでためしにスペースを借りて、 自分でカウンタを設置してみましたが、 いとも簡単に設置ができました。 パーミッションは、 GIF1、GIF2ディレクトリは【755】、 CGIが【755】、DATが【606】、 gifcat.plは【644】でした。 カウンタを表示させたいindex.htmlに <img src="daycount/daycount.cgi?gif"> を追加しただけで、 daycount.cgiは一切いじりませんでした。 設置までにかかった時間およそ30秒、 こうなるとケアレスミスの可能性を疑ってみる必要がありますね。 CGIソースの #============# # 設定項目 # #============# から #============# # 設定完了 # #============# までの部分と、カウンタを表示するページに挿入したタグをそのままコピーしていただければ答えが出ると思います。

noname#5289
質問者

お礼

あの後もう一度やってみたのですが、ちゃんとできました!! 何故出来たのか分からないのですが・・・。 一応言われたのをコピペしますね。 「設定項目」 # 画像連結ライブラリ取込み require './gifcat.pl'; # 総カウント数の桁数 $digit1 = 5; # 本/昨日カウント数の桁数 $digit2 = 3; # 記録ファイル $logfile = './daycount.dat'; # 総カウント用GIF画像のディレクトリ # --> フルパスだと / から始るパス $gifdir1 = './gif1'; # 本/昨日カウント用GIF画像のディレクトリ # --> フルパスだと / から始るパス $gifdir2 = './gif2'; # IPアドレスの二重カウントチェック # 0 : チェックしない # 1 : チェックする $ip_check = 1; # ファイルロック形式 # → 0=no 1=symlink関数 2=mkdir関数 $lockkey = 0; # ロックファイル名 $lockfile = './lock/daycount.lock'; # カウンタの機能タイプ # 0 : 総カウント数不要(昨日/本日のみ) # 1 : 標準タイプ $type = 1; 「設定完了」 「index」 <CENTER><TABLE> <TR> <TD>あなたは累計</TD> <TD> <TABLE BORDER=1> <TR> <TD><img src="daycount/daycount.cgi?gif"></TD> </TR> </TABLE> </TD> <TD>人目の訪問者です。</TD> </TR> </TABLE> (本日は<img src="daycount/daycount.cgi?today">番目のアクセスです。 また昨日は<img src="daycount/daycount.cgi?yes">人のご来場者がありました) </CENTER> 「index」 です。 出来たのですが、私も原因が知りたいので、もしこれで分かれば教えてもらえますか?? よろしくお願いします。

その他の回答 (8)

回答No.9

#2、#4、#6、#7、#8です。 動いたようでなによりです。 パッと見設定類はあってそうですね。 やはりパーミッションが原因の可能性が高いですが、 いまとなっては迷宮入りです(;^_^A アセアセ…

noname#5289
質問者

お礼

はい。 私も動いたので、とりあえずよかったです。 何故動かなくて、何故動いたのか分かりませんが・・・ いろいろ調べていただいたりして、申し訳ございません。そしてありがとうございました。 では、この事件は迷宮入りということで。。。(^-^ゞ ありがとうございます。 一人の30ポイントあげれないようなので、ここは20ポイントで失礼します。

回答No.7

#6で書き忘れた分の追記です。 念のため各ファイル・ディレクトリのパーミッションをお教えください。

回答No.6

#2、#4です。 >やってみたのですが、できませんでした。。。 > >サーバーのパーミッションは3番の方が調べてくれたので、間違いはありません。 ちょっと誤解なさってるようなので補足しますね。 #3の方のおっしゃる通りのパーミッションの設定にするのが このレンタルサーバーのルールです。 ですので、#3の方のおっしゃっていることは100%正しいのですが、 このルール通りにすると、このカウンタは動きません。 サーバーが要求する通りにパーミッションを設定すればカウンタは動かず、 カウンタCGIの要求するパーミッションにすることはサーバーのルールによってできないために 起きているトラブルと思われますので、 この手のトラブルは画像を変えても動かない可能性が高く、 ちょっと違う手法で回避させることになります。 >daycount.datのパーミッションが【600】のように一番右のケタが0になっているケース、 >gif1とgif2ディレクトリのパーミッションも同様に一番右のケタが0になっているケースが考えられます。 に該当しているかどうか(たぶんしていると思います)、 再度ご確認いただけますか。

noname#5289
質問者

お礼

いろいろありがとうございます。 daycount.cgiは「755」にして、 gifたちは「755」 daycount.datは「644」 だったので、gifたちは「707」「704」「701」にして、daycount.datは「606」「604」とかにしてみました。 でも出来ません。 何故でしょう・・・

  • Kirishima
  • ベストアンサー率32% (155/480)
回答No.5

FTPの転送で*.datファイルがバイナリ転送されていたりしませんか? FTPソフトを変更したりするとハマりますよね…。 あとGIF画像は 1.インタレースの画像は使用できません。(ネットスケープで表示すると黒斜線が入ります) 2.GIFアニメーションは使用できません。 を満たしてますよね? あとGIF画像のピクセル数が数字ごとに違うと言うことはないですよね?

noname#5289
質問者

お礼

すべて確認したのですが、どうしてもどうやっても出来ませんんでした。。。 なぜ私だけできないのでしょう?? 原因がまったくもって分からないので、途方にくれています。 でも、いつかできるよに頑張ります! ありがとうございました。

回答No.4

#2です。 おおよそ見当がつきました。 8割方パーミッションの設定が原因だと思います。 このカウンタは、 daycount.datのパーミッションが【606】あるいは【666】、 gif1とgif2ディレクトリのパーミッションが【701】あるいは【705】・【707】あたりで動きます。(他にもあります) 動かない例として、 daycount.datのパーミッションが【600】のように一番右のケタが0になっているケース、 gif1とgif2ディレクトリのパーミッションも同様に一番右のケタが0になっているケースが考えられます。 サーバー側のルールでパーミッションに規制があるようですが、 もし上記二種類に該当する場合、ちょっとした裏技を使って回避することができるかもしれませんので、 各ファイル・ディレクトリのパーミッションのチェックをお願いできますか?

noname#5289
質問者

お礼

やってみたのですが、できませんでした。。。 サーバーのパーミッションは3番の方が調べてくれたので、間違いはありません。 画像を変えてみたら出来るかもしれないと聞いたので、画像を変えてチャレンジしてみます。 ありがとうございました。

  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.3

ロリポップ見てみましたが、特に特殊な設定は必要なさそうです gif1 gif2  は、ちゃんとディレクトリになっていますか?  で、そのディレクトリに10個のGIFファイル入っていますか? あと、パーミッションで777にするとエラーが出るそうですので 755にしてくださいね 666も600になります 再度、設定確認お願いします

参考URL:
http://lolipop.jp/?mode=faq&state=detail&genreid=6&faqid=000030
noname#5289
質問者

お礼

ほかのcgiは動くのに、カウンタだけができないのです。。 すべて確認したのですが、出来ませんでした。 細かく調べていただいてありがとうございました。 でも、どうすてもできません。

回答No.2

非常にイレギュラーなケースが考えられます。 プロバイダやレンタルサーバーによっては、 CGIディレクトリ内の画像を表示できないルールのところがあります。 そこで、 ・プロバイダまたはレンタルサーバーの業者名 ・CGIスクリプトの1行目の記述内容 をお教え頂ければ、糸口が見えてくるかもしれません。

noname#5289
質問者

補足

そのようなところがあるのですか?? 知りませんでした。 レンタルサーバー:ロリポップ 1行目     :#!/usr/bin/perl 掲示板や日記は正常に作動するのに、カウンタだけできないってことがあるんですねぇ。 よろしくお願いします。。。

  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.1

画像のパスはあっていますか? <img src="count/dayx.cgi?today">の記述も間違いないですか? インタレースの画像、アニメーションGIFを使用していませんか? lockディレクトリは作成しましたか? KENT WEBのCGIはそれほど苦労せずに設置出来るタイプのが多いですよ きっと、簡単な所でのミスだと思いますので、再度パスなどを 確認してみてください

noname#5289
質問者

お礼

全て確認しましたが、間違いないです。 でも、出来ないのです。。 何故でしょう。。。 ホントに困っております。 発言ありがとうございます。

関連するQ&A