友人のサイトに自分のサイトの広告を掲載したいのですが、これらの広告が各 Web サイトから何回閲覧されているかを確認したいと考えています。これを行うための解決策を探しています。
Apache はサーバーからファイルが要求された回数をログに記録しますか、それとも htaccess ファイルを作成してこれを行うことは可能ですか? どこから始めればいいのかわからないので、ご存知でしたら正しい場所にリダイレクトしてください。
以前の投稿の提案は非常に優れています。これを完了するには、次のようにします。
サーバー上に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);
以下のように画像ピクセルを配置し、Flash ファイルを表示しているファイルに含めることができます。
<img src="http://yourdomain.com/flashcount.php" style="display:none" />
では、 を使用してflashcount.php
実行されたドメインの情報を取得し、そのクリックおよびサーバー情報をデータベース テーブルに保存できます。$_SERVER
referrer