TOP > Up > Today
名前: AG BBSから
質問:http://pasokoma.jp/49/lg495861#495891
携帯:http://pasokoma.jp/m?num=495891&ope=v
--
AGさんは No.495882「Re:HPのカウンタが壊れました.復旧に助力を乞います」で書きました。
追記
CGIの表示 何処かで見た事がありましたが昨夜は対処出来ませんでした 今日改め
て探しましたら メモ帳で開いて見た記憶でした それでcgiのコピ−を此処に張り
付けようと思いましたがテキスト以外はぺースト出来ないようですのでサ−バ−の
cgiをメモ帳で開いて貼り付けます
#!/usr/bin/perl
#プロバイダによって設定してね。
#-------------------------------
#Counter-Script#2 ver 0.02
#Copyright (C) 1997 Nobutaka Makino All rights reserved.
# e-mail nobu@imaginet.ne.jp Last Update 7 Dec..
#基本設定(普通は変更の必要なし)
#-------------------------------
$DataFile = './count.dat';
#データファイルのパス指定。
$ImageDir[0] = 'img/';
#GIFファイルのあるディレクトリのパス指定。
#必ず最後は"/"でおわっていること。
require './gifcat.pl';
#gifcat.plのパス指定。
#$ImageDir[2] = 'img2/';
#$ImageDir[3] = 'img3/';
#2種以上の画像ファイルを使用する場合、
#$の前の#を消して、GIF画像のあるディレクトリパスを指定。
#改造したい人以外は、
#ここから下はさわらないでね。
#-------------------------------
$buffer = $ENV{QUERY_STRING}; #オプションの取得。
$buffer =~ s/\&amp\;/\&/ig; #&→&書き換え対処。
foreach(split(/&/,$buffer)){ #オプションを変数に代入。
($name,$value) = split(/=/);
$FORM{$name} = $value;
}
$name = $FORM{'name'};$name = 'default' if(!$name); #指定が無ければ'default'を用いる。
$type = $FORM{'type'};$type = '0' if(!$type); #指定がなければ'$ImageDir[0]'を用いる。
$width= $FORM{'width'}; #指定がなければ自動的に調整。(後述)
if($type =~ /%D/){&error('type');} #数字以外が指定されていればエラー。
if($width =~ /%D/){&error('width');} #同じく。
#-------------------------------
open(IN,"$DataFile"); #ファイルのオープン&エラー処理。
eval{'flock(IN,2);'}; #ファイルロック処理
@datas = <IN>; #カウントの取得。
close(IN);
if(!@datas){ #データが取得できなかったら?
sleep(1); #1秒待って、
open(DATA,"$data_file"); #再び挑戦。
eval{'flock(DATA,2);'};
@datas = <DATA>;
close(DATA);
}
#-------------------------------
foreach(@datas){ #それぞれのデータについて、
last if ($count); #増加処理が終わってたらループを抜ける。
if(/^$name\t/){ #カウンタ名が一致したら、
chop; #改行コード消して、
($name_t, $count_t) = split(/\t/); #カウンタ名とカウントに分けて、
$count_t++; #カウント増やして、
$count = $count_t; #別変数に待避。
$_ = "$name_t\t$count_t\n"; #データの更新。
}
}
if(!$count>0){ #一度も名前が見つからなかったら、
$NewData = "$name\t1\n"; #新しいデータをつくって、
$count = 1; #チェックして、
push(@datas,$NewData); #元のデータに加える。
}
#-------------------------------
open(OUT,">$DataFile"); #ファイルを開いて、
eval{'flock(OUT,2);'}; #ロックして、
print OUT @datas; #カウントを書き込む。
close(OUT); #閉じる。
#-------------------------------
$width2=length($count);
if($width < $width2){$width=$width2;} #widthの最終設定。
#実際の桁が指定桁より大きいときは、実際の桁を優先。
foreach(1..$width){ #合成する画像のリスト作成。
$ImageNum = substr($count,-$_,1); #桁の数字取得。
$ImageNum = 0 if(!$ImageNum); #桁数をそろえる。(余った部分に0を指定)
unshift(@gifs,"$ImageDir[$type]$ImageNum.gif");
}
binmode(STDOUT); #DOS用。バイナリモードに。
print "Content-type: image/gif\n\n"; #MIME-TYPE(?)の出力。
print &gifcat'gifcat(@gifs); #GIFの合成&出力。
これで宜しいのでしょうか?
再設定以外は私の出来ること全部やりましたが修復出来ませんでした
--
== 掲示板URL: http://pasokoma.jp/bbs ==
配信の停止: http://pasokoma.jp/taikai
本メールマガジンへの返信はなさらないで下さい
== 投稿はパソコン困りごと掲示板でお願い致します ===
TOP > Up > Today