• 締切済み

アクセスカウンタの呼び出し方

以下のような(アクセスカウンタ)をPerlで書きました #!c:/Perl/bin/Perl.exe print "Content-type:text/html\n\n"; &main; sub main {    my $ninzu,@Hninzu;    $ninzu=&yomikomi;    @Hninzu=&sujibunaki(@Hninzu,$ninzu);    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[8].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[7].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[6].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[5].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[4].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[3].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[2].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[1].".gif>";    print"<IMG SRC=http://localhost/data/suji/".$Hninzu[0].".gif>"; } sub yomikomi {    my $ninzu;    open(RH,"<","count.txt") or die"ファイルが見つかりません";    $ninzu=<RH>;    close(RH);    open(WH,">","count.txt");    $ninzu++;    print WH"$ninzu";    return $ninzu; } sub sujibunaki {    my @Hninzu,$ninzu,$i;    @Hninzu=@_;    $ninzu=shift;    @Hninzu[8]=int $ninzu/100000000;    @Hninzu[7]=int $ninzu%100000000/10000000;    @Hninzu[6]=int $ninzu%100000000%10000000/1000000;    @Hninzu[5]=int $ninzu%100000000%10000000%1000000/100000;    @Hninzu[4]=int $ninzu%100000000%10000000%1000000%10000/10000;    @Hninzu[3]=int $ninzu%100000000%10000000%1000000%100000%10000/1000;    @Hninzu[2]=int $ninzu%100000000%10000000%1000000%100000%10000%1000/100;    @Hninzu[1]=int $ninzu%100000000%10000000%1000000%100000%10000%1000%100/10;    @Hninzu[0]=int $ninzu%100000000%10000000%1000000%100000%10000%1000%100%10;;    return @Hninzu; } これを別のファイル(.html)からこのファイル(.plに)表示される画像 (カウンタ画像)だけを呼び出して.htmlに表示したいんですけど、 どうすればよろしいですか? でしょうか?

  • Perl
  • 回答数1
  • ありがとう数2

みんなの回答

回答No.1

この方式だと SSI(EXEC CGI)で呼び出すかframeを使うかしか有りません CGIでgif自体をContent-type: image/gif\n\n で表示させるのであれば HTMLから <IMG SRC="hoge.cgi">で表示できますが http://www2k.biglobe.ne.jp/~motoi/cdecgi04.html

関連するQ&A

  • 画像を使ったアクセスカウンターですが。。。

    どなたか教えていただければ大変ありがたいです。 画像(0.gif~9.gif)を使用し、アクセスカウンターを作る 次のソースの内、 ------------------------------------------------------------------- #!c:/perl/bin/perl require './sub_lock.pl'; $countfile = "./count.log"; $lockdir = "./lockdir"; exit unless(&lock($lockdir)); open(COUNTFILE, "+<$countfile"); chomp($count=<COUNTFILE>); $count++; seek(COUNTFILE, 0, 0); print COUNTFILE "$count\n"; truncate(COUNTFILE, tell(COUNTFILE)); close(COUNTFILE); &unlock($lockdir); $count_img = sprintf("%04d", $count); $count_img =~ s/(.)/<img src=".\/images\/$1.gif">/g; print "content-type:text/html\n\n"; print $count_img; exit; ------------------------------------------------------------------- $count_img =~ s/(.)/<img src=".\/images\/$1.gif">/g; の 「(.)」と「$1」になっているところが、どうも理解できなくて 困っています。 「=~ s」がパターンマッチであることだけは知っています。 CGI辞書などを調べてもやはり意味がわからず、お手上げ状態です。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • アクセスのコード記述について

    アクセスのデータをタグ付のテキストで出力するために、以下のようなコードをコマンドボタン1に割り当てました。 Private Sub コマンド1_Click() Open "c:\test.htm" For Output As #1 Print #1, "<html>" Print #1, "<title>テスト</title> Print #1, "<body>" Print #1, "<PRE>" Print #1, Me!data Print #1, </PRE> Print #1, "</body>" Print #1, "</html>" Close #1 End Sub 上記のコードに、アクセスデータ中に入っているcase_noのデータをファイル名としたイメージを読み込むために以下のタグ <IMG SRC ="c:\1234.gif">を追加したいと思い、下記のコードを追加したのですが、アクセスのコードの「"」とタグの「"」とが混在してしまっているのでエラーになってしまいます。どうしたらいいのでしょうか? Print #1, "<IMG SRC ="c:\" & Me!case_no & ".gif">" 

  • カウンターがまわりません…

    カウンターがまわりません… カウンターをHPに設置しようと思い、レンタルしました。 ソースを張り付けて表示までは出来たのですが、まわってくれません。 HPURLから行くと回らず、フォルダのhtmlドキュメントから確認すると回ります。 アップロードしているデータも最新のものなので、何が原因か分かりません… 以下がトップページのソースになります。 <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>タイトル</title> </head> <frameset cols="170,60,*" frameborder="0" border="0"> <frame src="sub.html" name="sub" scrolling="auto"> <frame src="menu.html" name="menu" scrolling="auto"> <frame src="first.html" name="main" scrolling="auto"> <noframes> <body> <div id="all"> <IMG src="icon4.gif"><script language="JavaScript" type="text/javascript" src="http://counter1.fc2.com/counter.php? id=5286200"></script><noscript><img src="http://counter1.fc2.com/counter_img.php?id=5286200"><br><strong><a href="http://rss.fc2.com/">RSSリーダー</a></strong></noscript><IMG src="icon4.gif"> <IMG src="icon.gif" align="left"> <h2>About To to444</h2> <h3></h3> <div class="txt"> コメント </div> フレームに対応したブラウザでご覧ください。 </body> </noframes> </frameset> </html> 記載漏れがございましたら追記致します。 お手数ですが、どなたかご指南頂けると幸いです!

  • カウンターの画像が表示されない

    無料カウンターの画像が「×」になります perlパスはusr/bin/perlです。 indexと同じ階層にdaycounterのフォルダをおきました。パーミッションはサーバーの方が HTML画像ファイル604 CGI実行ファイル700 CGIデータファイル600 .htaccessファイル604 ディレクトリ705 index.html ┃ daycounterフォルダ(755)   ┃   img1フォルダ(701)━gif画像(604)   ┃   img2フォルダ(701)━gif画像(604)   ┃   cgi-lib.pl(600)   ┃   counter.html(604)←使用しないそうです   ┃   daycounter.cgi(700   ┃   daycounter.dat(600)   ┃   gifcat.pl(600) そこのapeboardの設置を参考にしました。 http://www.lolipop.jp/?mode=faq&state=detail&genreid=6&faqid=000120 imgフォルダだけバイナリで転送してあります。 カウンターのソースは <IMG src="http://127.0.0.1/yoshi/public_html/free_cgi/counter/daycounter/daycounter.cgi?mode=total"><P> 本日:<IMG align="absmiddle" src="http://127.0.0.1/yoshi/public_html/free_cgi/counter/daycounter/daycounter.cgi?mode=today">  昨日:<IMG align="absmiddle" src="http://127.0.0.1/yoshi/public_html/free_cgi/counter/daycounter/daycounter.cgi?mode=yesterday"> です。

    • ベストアンサー
    • CGI
  • 画像ファイルが崩れる

    Perlで、CGIを作成しています。 GIF画像をCGI経由で表示させようと思っているのですが、なぜか、画像が崩れてしまいます。GIFだけではなく、Jpegでも同じです。しかし、HTMLファイルの <img>タグでそのまま表示させようとすると、きちんと表示します。 どのようにすれば、崩れを抑えられますか? CGIソース---------------------- #!/usr/local/bin/perl $imgsrc="number/0.gif"; print "Content-type:image/gif\n\n"; open(IMG,$imgsrc); binmode(IMG); print <IMG>; close(IMG); -----------------------------EOF HTML---------------------------- <html> <head> </head> <body> <img src="cgi/image.cgi" width="28" hegiht="31"> </body> </html> ------------------------------EOF gif画像は、 http://www.akikobrand.com/icon/img/10/6/0.gif を使わせていただきました。(個人的な使用です)

    • ベストアンサー
    • CGI
  • フォームメール確認用ページ

    フォームメールの確認用のページで、 cgiから書き出す、最終的な確認部分を、入力フォームから内容を受けた部分のみ表示しようとおもうのですが、以下の書式だとhtml内のsub部分の指示が効かずに、画面にそのままsub~と書き出されてしまいます。 どなたか良い方法を教えていただけないでしょうか? よろしくお願いいたします。 省略 $errNum = chkFormInput(); fixTags(); &okhtml(); sub okhtml{ print "Content-type:text/html\n\n"; print <<DATA; <html> <head> 省略 sub hoge { if ($hoge eq "") { print "<tr><td height="1" width="1"><img src="bitr.gif" width="1" height="1"></td></tr>\n"; }else{ print "<tr><td align=center width="30" bgcolor="#ffffdd"><font color="#333300" class="text2">8.</font></td> <td width="3"><img src="bitr.gif" width="1" height="1"></td> <td width="106" height="27" bgcolor="#ffffaa"><img src="bitr.gif" width="1" height="1"><font color="#333300" class="text2">連絡先<font class="text2" color="#cc0000"></td> <td width="3"><img src="bitr.gif" width="1" height="1"></td> <td width="414" bgcolor="#ffffdd"><img src="bitr.gif" width="1" height="1"><font class="text5">$hoge</font></td></tr> <tr><td colspan="5" height="2"><img src="bitr.gif" width="1" height="1"></td></tr>\n"; } }

    • ベストアンサー
    • Perl
  • perl で 画像を取得したい

    下記perlのコードを書いたのですが、なぜか、画像を取得することができません。 メモ帳で開くと、画像データっぽい文字列はあるのですが、普通に見ることができません。 なぜでしょうか?また、どのように改良すれば取得できますか? ご存知の方教えていただけないでしょうか? 宜しくお願い致します。 $source = &GetImg('http://www.goo.ne.jp/img/logo/gootop_logo.gif'); $FileOut = "tmp.gif"; open(OUT, ">$FileOut"); print OUT $source; close (OUT); sub GetImg() { my($url) = @_; use LWP::UserAgent; my $browser = LWP::UserAgent->new; my $response = $browser->get($url,'User-Agent' => 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007'); my $img_file = $response->content; return $img_file; }

    • ベストアンサー
    • Perl
  • 変数名で付けた画像の表示方法

    初心者ですよろしくお願いします 画像をforで回し表示いたいのですが以下3方法試しましたがいずれもうまく表示されません  Perlは文字列と数値が私にとってあいまいなので----と言うかそれ以前の問題ですね HTMLに変数名を入れても無理ですね今気がつきました cgiで画像を表示するのはどうしたらよろしいでしょうか?ご指導お願いします $kaku =".gif"; @bb = ( "0.gif","1.gif","2.gif","3.gif","4.gif"); for($i=0; $i<=$#file; $i++){ $jj=$i.$kaku; $jjj=length($jj);  #レングス5になってました print "<img src=\"$jj\" width=\"55\" height=\"35\">\n"; print "<img src=\"$bb[$i]\" width=\"55\" height=\"35\">\n"; print <<EOM; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <img src= "$jj" width="55" height="35"> EOM }

  • CGIカウンターの画像が表示されません

    まず、環境はwindows7 32bit xampp v3.2.1 xampp上のコントロールパネル→Admin→CGIのステータスは「開始」となっている。 apacheのv-host.conf上の変更点 <VirtualHost *:80> DocumentRoot "C:/www1" ServerName localhost <Directory "C:/www1"> Options ExecCGI Indexes FollowSymLinks MultiViews AddOutputFilter INCLUDES .html AddType text/html .shtml Order allow,deny Allow from all AddHandler image/gif .gif        AddHandler image/jpeg .jpeg .jpg .jpe  AddHandler image/png .png         AddHandler text/html .html .htm     Require all granted </Directory> </VirtualHost> とした。 http://www.kent-web.com/count/daycount.html 上記のサイトのDAY COUNTERをwindows7 cドライブ直下に以下の様に設定した。 www1/ +- index.html ... ここにカウンタを設置するものとする | |         累計カウント : <img src="daycount.cgi?gif"> |          昨日カウント : <img src="daycount.cgi?yes"> |          本日カウント : <img src="daycount.cgi?today"> | |          と記述 | +--daycount / daycount.cgi [705] | init.cgi [604] | check.cgi [705] | conv.cgi [705] | | .htaccess(AddType application/x-httpd-cgi .cgiと記述) | | +-- lib / gifcat.pl [604] | magick.pl [604] | +-- data / daycount.dat [606] | today.dat [606] | yes.dat [606] | +-- gif1 / 0.gif ... 9.gif | +-- gif2 / 0.gif ... 9.gif なお、daycount.cgi    check.cgi    conv.cgi    は一行目を#!"C:\xampp\perl\bin\perl.exe"とした。 色々サイトを見てcgi-binフォルダに画像ファイルを入れると画像が見れなくなる事とか apacheではCGIの入ったフォルダに.htaccess(AddType application/x-httpd-cgi .cgiと記述) を入れてやらないと動作しないとかの情報を元に上記の様な設定になったのですが上手くいかないようです。 一応画像もアップしておきました。なにかしらの参考になりましたら… この設定でどこかおかしい所が有ればご指摘願います。

    • ベストアンサー
    • CGI
  • (PHP)srcエラーの意味

    ●質問の主旨 下記のコードでを実行しようとすると、 print('<img src="'.$img.'" alt="'.$prof[0].'" />'); のところで、 Parse error: syntax error, unexpected 'src' (T_STRING) が出ます。 どこを修正すればよいのでしょうか? ご存知のかたよろしくお願いします。 ●コード <?php foreach($data as $name => $prof) { $img =''; $pos = mb_strpos($name, $_POST['keywd']); if ($pos !== FALSE) { $img = '../images/male.gif'; } else if ($prof[0] === '男') { $img = '../images/female.gif'; } else { $img = '../images/other.gif; } print('<img src="'.$img.'" alt="'.$prof[0].'" />'); print('<dt>'.$name.'</dt>'); print('<dd>性別:'.$prof[0].'</dd>'); print('<dd>誕生日:'.$prof[1].'</dd>'); print('<dd>住所:'.$prof[2].'</dd>'); } } ?>

    • ベストアンサー
    • PHP

専門家に質問してみよう