2

友人のサイトに自分のサイトの広告を掲載したいのですが、これらの広告が各 Web サイトから何回閲覧されているかを確認したいと考えています。これを行うための解決策を探しています。

Apache はサーバーからファイルが要求された回数をログに記録しますか、それとも htaccess ファイルを作成してこれを行うことは可能ですか? どこから始めればいいのかわからないので、ご存知でしたら正しい場所にリダイレクトしてください。

4

3 に答える 3

3

以前の投稿の提案は非常に優れています。これを完了するには、次のようにします。

サーバー上にphpファイルを作成し、広告を出力し、画像の場合は次のように友達のページに広告を配置します。

<img src="http://yourdomain.com/output.php?type=jpg&id=X">

またはフラッシュ用

<embed src="http://yourdomain.com/output.php?type=swf&id=X" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>

php ファイルで、一致する広告をロードするための ID を確認できます (さまざまな追加のリストを含むデータベースまたは csv ファイルが必要です。

<?php
  if(isset($_GET["id"]))
  {
    $list = load_addlist_from_db(); // <----- here you should write you own function to load your list of possible adds e.g. as array
    if(array_key_exists($_GET["id"], $list))
    {
      $filename = $list[$_GET["id"]];
      if(is_readable($filename))
      {
        header("Content-Length: ".filesize($filename));
        // set the last modification time of downloadfile or phpscript, whatever is newer
        $modtime_str = gmdate("D, d M Y H:i:s", max(filemtime($filename),getlastmod())) . " GMT";
        header("Last-Modified: ". $modtime_str);
        switch($_GET["type"])
        {
          case "jpg":
          case "jpeg": 
          {
            header("Content-Type: image/jpg"); // coul also be "image/png", "image/gif" depending on what file you like to output
          }
          case "swf":
          {
            header("Content-Type: application/x-shockwave-flash");
          }
        }
/*
 * here you can count the request to this add (or use the bbclone code below)
 * check $_SERVER['HTTP_REFERER'] to get information from what page the file was loaded 
 */
        readfile($filename);
      }
      else $file_not_found = true;
    }
    else $file_not_found = true;
  }
  else $file_not_found = true;

  if($file_not_found)
  {
    // that tells the browser, that the requestes file doas not exist
    header("Status: 404 Not Found",true,404);
  }
?>

このファイルでは、独自のデータベース/ファイルでリクエストをカウントするか、訪問者のブラウザとオペレーティング システムもカウントするBBCloneを使用できます。

次のように、output.php に BBclone を含めることができます。

define("_BBC_PAGE_NAME",basename($filename));
define("_BBCLONE_DIR", $_SERVER["DOCUMENT_ROOT"].DIRECTORY_SEPARATOR."bbclone");
define("COUNTER", _BBCLONE_DIR."mark_page.php");
include_once(COUNTER);
于 2013-10-09T07:11:15.237 に答える
0

以下のように画像ピクセルを配置し、Flash ファイルを表示しているファイルに含めることができます。

<img src="http://yourdomain.com/flashcount.php" style="display:none" />

では、 を使用してflashcount.php実行されたドメインの情報を取得し、そのクリックおよびサーバー情報をデータベース テーブルに保存できます。$_SERVERreferrer

于 2013-10-09T06:09:49.703 に答える