我想在我的一些朋友的网站上放一个我网站的广告,我想看看这些广告在每个网站上被浏览了多少次。我正在寻找这样做的解决方案。
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);
创建一个显示如下图像的 php 文件:
if(file_exists($path))
{
header('Content-Length: '.filesize($path));
header('Content-Type: image/jpg');
header('Content-Disposition: inline; filename="'.$path.'";');
echo file_get_contents($path);
exit;
}
现在,您可以在图像发布之前添加 PHP 代码,并且可以跟踪视图。只需确保在 header() 调用之前没有发布任何内容。甚至没有空格或 HTML 标记(否则会破坏图像)。
您可以使用 .htaccess 来显示以 .jpg 结尾的文件。
您可以像下面这样放置一个图像像素,并将它们包含在他们正在显示您的 Flash 文件的文件中:
<img src="http://yourdomain.com/flashcount.php" style="display:none" />
在flashcount.php
中,您可以获取使用它执行的域的信息,$_SERVER
并将referrer
其单击和服务器信息存储在某个数据库表中。