• ベストアンサー

ファイルへのアクセス数をカウント

こんばんわ。早速質問なのですが、 サーバー内の画像ファイルが呼び出された際、 その回数をカウントすることは可能でしょうか? 要は<img>タグからの呼び出し回数を、画像毎に カウントできるか?という意味です。 レンタルサーバーなどでも可能なら、とてもうれしいのですが。 どうぞアドバイスを宜しくお願いします。

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

  • ベストアンサー
  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

やり方は大きく二つに分かれると思います。 一つはimgタグの部分自体をcgi呼び出し&引数渡しに変更して、cgi側でカウントすること。 もう一つはhttpdサーバのログを集計して画像ファイル数を数えてしまう方法でしょうか。 cat httpd-access.log | grep 画像ファイル名 | wc -l みたいな感じです。

maru_n
質問者

お礼

一つ目のやり方ですが、サーバー外からの呼び出しを想定しているので ちょっとムリかなと思います。 二つ目のログ集計ですが、こんな事も出来るんですね。なるほど。 さくらのレンタルサーバーを今現在使っているのですが、 そこで出来るか調べてみます。 ・・・自鯖でないとちょっと厳しいかな ともかく、ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 指定したファイルのアクセス数をカウント

    タイトルの通り指定したファイルへアクセスした回数をカウントして記録するようなソフトはないでしょうか。また、それ以前にそのようなソフトを開発することは可能なのでしょうか。小さな情報でも構わないので教えてください。よろしくおねがいします。

  • OpenCVでのビット数のカウント

    はじめまして。今回皆様のお力をお借りしたく質問させて頂きました。 どうぞ宜しくお願いします。 私は今OpenCV1.1を使って、2枚のエッジ処理して2値化された画像の差分を取り、変化しているビット数をカウントして表示させるというプログラムを作っています。 しかし、デバッグするとエラーが出てしまい、失敗してしまいます。 どこに問題があるのでしょうか? プログラム初心者のため、初歩的なミスをしているのかもしれません。 開発環境はMicrosoft Visual C++ 2010です。 以下にプログラムを載せておきます。 #include "stdafx.h" #include <cv.h> #include <highgui.h> #pragma comment(lib,"cv.lib") #pragma comment(lib,"cxcore.lib") #pragma comment(lib,"highgui.lib") /* 背景画像のファイル名 */ #define INPUT_FILE1 "5×5medcanny.bmp" /* 対象画像のファイル名 */ #define INPUT_FILE2 "Fire5×5medcanny.bmp" /* 差分画像のファイル名 */ #define OUTPUT_DIFF_FILE "diff.bmp" #define WIDTH 352 #define HEIGHT 288 int _tmain(int argc, _TCHAR* argv[]) { // 画像変数宣言 IplImage *img_in1, *img_in2, *img_diff; cvNamedWindow("期待値画像"); // 表示ウィンドウの作成 cvNamedWindow("比較画像"); cvNamedWindow ("差分画像", CV_WINDOW_AUTOSIZE); img_in1 = cvLoadImage(INPUT_FILE1); // 画像ファイルの読み込み img_in2 = cvLoadImage(INPUT_FILE2); if(img_in1 == NULL || img_in2 == NULL) // ファイルが読み込めない場合 { printf("ファイルが読み込めません。\n"); cvWaitKey(0); // キー入力待機 return -1; } // 画像領域の確保 img_diff = cvCreateImage(cvSize(img_in1->width, img_in1->height), IPL_DEPTH_8U, 1); // 期待値画像と比較画像の差分 cvAbsDiff(INPUT_FILE1, INPUT_FILE2, OUTPUT_DIFF_FILE); // 差分画像ファイルの読み込み img_diff = cvLoadImage(OUTPUT_DIFF_FILE); // 差分画像の画素数の取得 IplImage img_hdr; IplImage *dst_img = cvGetImage (img_diff, &img_hdr); // 差分画像の画素数のカウント int count = 0; count += cvCountNonZero(dst_img); printf("%d\n",count);     cvShowImage("期待値画像", img_in1); // 表示ウィンドウに画像を表示 cvShowImage("比較画像", img_in2); cvShowImage("差分画像", img_diff); cvSaveImage("Image_diff.bmp", img_diff); // 出力画像の保存 cvWaitKey(0); // キー入力待機 cvDestroyAllWindows(); // すべての表示ウィンドウの破棄 cvReleaseImage(&img_in1); // 画像領域の解放 cvReleaseImage(&img_in2); cvReleaseImage(&img_diff); cvReleaseImage(&dst_img); return 0; }

  • カウント数の抽出

    こんばんは。お世話になっております。 現在、PHPにてレンタルサーバ上にあるMySQL(4.0)を用いながらサイトを運営しておりますが、以下のような動作をさせたく考えております。 no id  date     ip 1  21 2007-09-27 162.18.64.2 2  10 2007-09-27 101.15.69.6 3  12 2007-09-27 122.18.64.9 4  21 2007-09-27 121.16.62.1 5  10 2007-09-27 172.17.64.2 6  32 2007-09-27 199.11.65.6 と、イメージ的に上記のようなテーブルがあり、アクセス数をカウントしているのですが、id別にアクセス数の多いもの順(※1)から並べ替えすることは出来るものの、id毎に呼び出した際、それが※1で並び替えた場合、上位から何番目に当たるのかを知るには、どのようなスクリプトになるのでしょうか? 色々と思いつくことはあるものの、どれも上手くいかずに、諸先輩方々からのお知恵を頂戴したく投函させて頂きました。お忙しいとは存じますが、アドバイスいただければ幸いに思います。宜しくお願いいたします。

  • アクセスで、条件を付けてカウントしたいです。

    アクセスで、条件を付けてカウントしたいです。 前回こちらで助けていただきました。 http://okwave.jp/qa/q5906286.html おかげで、ほしかったデータベースを作ることができとても感謝しております。 今回、そのデータベースを使い集計している最中に戸惑ってしまう点があり 再度質問させていただきます。 できあがったデータは、添付の画像のようになっています。 そこから来店回数ごとに○×をカウントしたいです。 たとえば、 1回の来店者でAの購入者は5人、Bの購入者は6人、Cの購入者は3人 といったように、一つのクエリで作成したいです。 http://mar1224.fc2web.com/site/access_index03.html こちらのように集計をカウントにして、○×の個数を出すことはできたのですが 一回の集計で複数の商品の購入の有無をデータ化することができませんでした。 目指すものとしては下記のようなデータにしたいです。 来店回数     A購入     B購入     C購入     D購入  1回      80人      90人      53人     24人        2回      70人      100人      74人     55人   3回      93人      44人      42人     77人   4回      55人      63人      23人     66人   5回      80人      90人      53人     24人   6回      80人      440人      52人     24人  Dcount関数を使ってみたのですが うまくいきませんでした。 ちなみに使った式としては A購入= DCount("名前", "3月の来店者データ", "A購入='○'") こちらにすると来店回数とうまく紐づけられませんでした。(トータルの○の個数が出てしまいます。) こちら初歩的な質問で申し訳ございませんが、 アドバイスいただけると幸いです・・・涙 よろしくおねがいいたします。

  • cronで外部ファイルへアクセス

    はじめまして。分からない事あり、質問させて頂こうと、アカウントを取得いたしました。 cronが使える共有レンタルサーバー内に、ある簡単なメールが送信されるファイルを置きました。cronテストのために設置したファイルで、アクセスされるとメールが送信されるだけのものです。(ブラウザ経由でアクセスしてもメールが送信されます) そこで、以下のようなファイルを作成し、cronにて日時設定を行うと、正常にメールが配信されるまで確認いたしました。(mail.phpとは上記メール配信ファイルです) #!/bin/sh #PHP /usr/local/bin/php /~~~~~~/cron_test/mail.php exit 他方、あるレンタルサーバーを借りているのですが、そこではcronが使えません。 そこで、アクセスされたらPHPが働くファイル(access.phpとします)を置き、cronが使える上記サーバーで定期的にそのaccess.phpにアクセスしたらどうか?と考えに至りました。 要は、cronが使えない以下のサイト(ファイル)にcronを使ってアクセスしたいといった感じです。 http://○○○.com/access.php ここで質問なのですが、上記のような一連のcronの中で、mail.phpにあたるスクリプトはどのようなものになるのでしょうか? echo"<img src=\"http://○○○.com/access.php\">"; と記述しているのですが、失敗に終わってしまいます。 前置きが幾分長くなってしまいましたが、この外部ファイルをアクセスするためのソースが分からず困っている次第です。 お忙しい中恐縮ですが、アドバイスのほど宜しくお願い致します。

    • 締切済み
    • PHP
  • <img src=".php?id=id">をカウントしないようにしたい

    PHPでクリックされた回数をカウントしているのですが <?php $id=$_GET["id"]; カウント読み込み処理 カウント加算処理 header("Location: url"); ?> もし不正に<img src="http://hoge/count.php?id=id"> とした場合、クリックした回数ではなく 表示された回数をカウントされてしまいます。 <img src="http://hoge/count.php?id=id"> とした場合はカウントしない方法はありますか? よろしくお願いいたします。

    • 締切済み
    • PHP
  • クリックされた数をカウントしたいのですが

    個人でエクセルフォーマットなどを作成しご提供しております。 どのフォーマット(ファイル)がどれくらいダウンロードされたのかを知りたいと思いました。 アクセス解析タグをダウンロードページに張ってはみましたが、必ずしもダウンロードページを訪れた方がダウンロードをクリックしたとも限りません。 またファイル数が増えるにつれ、ダウンロードページばかり増やすのもどうかと思いました。 そこで、ダウンロードなどリンクをクリックした数をカウントする方法はないものかと考えております。 どなたかよいお知恵がありましたらお願い致します。

    • ベストアンサー
    • HTML
  • 二重カウント防止

    フリーのカウンタに2重カウントを防止出来るようにいろんなHP見て直したのですが、カウンタ自体動作しなくなりました。どこを直せばよいのでしょうか // 連続カウント防止(yes=1 no=0) $ip_check = 1; //------------ここまで---------- $fp = @fopen($log, "r+") or die($log."が開けません"); $count = fgets($fp, 64); //最大64バイトまで読み込む if(($ip_check == 1 && "$ip" != $_SERVER["REMOTE_ADDR"]) || $ip_check == 0){ $cnt++; $new_data = implode("<>", array($cnt,$_SERVER["REMOTE_ADDR"])); } fseek($fp, 0); //ファイルポインタを先頭に移す flock($fp, 2); //書き込みに対しロック fputs($fp, $count); //ファイルに書き込む fclose($fp); //ファイルをクローズ //桁数のフォーマット $cnt = sprintf(sprintf("%%0%dd", $fig), $count); //画像のサイズオプションを0.gifで取得 $size = getimagesize($path."0.gif"); //IMGタグを出力 for ($i=0; $i<strlen($cnt); $i++): //桁数分だけループ $n = substr($cnt, $i, 1); //左から一桁ずつ取得 echo "<IMG SRC=\"$path$n.gif\" alt=$n $size[3]>"; endfor;?>

    • 締切済み
    • PHP
  • <img>タグの数の表示

    画像表示掲示板で 表示されている画像の数を<img>タグの数を数えて最後に 表示されている画像の総数=<img>タグの数 を表示させたいのですが<img>タグの数はどのようにして得られるでしょうか?

  • ステップ数がカウントできない拡張子

    現在お仕事で、プログラムファイルのステップ数を集計し、規模を見ようとしております。 その際に「コロ助」というステップ数カウントツールを使って集計をしたのですが、 対応していない拡張子に対して、カウントはできたのですが値があっておりません。 Windowsでカウントするやり方。もしくはいいツールはないでしょうか? どなたかご教授お願い致します。