6

ピクセル トラッキングの基本を理解しています。トラッキング ドメインの画像を参照するピクセルを他の Web サイトに挿入できます。

ただし、トラッキング ドメインで実際のピクセル数を増やすにはどうすればよいですか? そのピクセル画像が提供されるたびに私に知らせるある種のログはありますか? 私は次のようなことができますか:

<img src="http://www.foo.com/serveImage/getImage.php?id=5123" />

次に、getImage ページを用意し、画像を提供し、渡された ID に基づいてインクリメントしますか? またはこれを達成するためのより良い方法はありますか?

前もって感謝します。

4

4 に答える 4

13

gif だけを出力したい場合は、これが手っ取り早く簡単な方法です。スクリプトが前後に何も出力しないことを確認してください。

header("Content-type: image/gif");
header("Content-length: 43");
$fp = fopen("php://output","wb");
fwrite($fp,"GIF89a\x01\x00\x01\x00\x80\x00\x00\xFF\xFF",15);
fwrite($fp,"\xFF\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00",12);
fwrite($fp,"\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02",12);
fwrite($fp,"\x44\x01\x00\x3B",4);
fclose($fp);
于 2010-06-23T17:18:27.660 に答える
3

これは私のトラックコードです:

<?php

$id = $_GET['site_id'];

// do track

$imageFile = 'images/pixel.jpg';
$im = imagecreatefromjpeg($imageFile);
header('Content-type: image/jpeg');
imagejpeg($im);


?>
于 2009-07-24T02:06:29.300 に答える
3

はい、あなたは正しい考えを持っています。

各サイトまたはページに一意の ID を付与し、それを画像の src に渡します。したがって、あなたの例では ID は 5123 です。

getImage.php スクリプトで、この ID を使用してデータベースをインクリメントし (またはデータを記録します)、必要な画像を返します。返される画像にヒット数を表示させたい場合は、GD 拡張を使用してオンザフライで画像を作成できます。詳細については、PHP のマニュアルを参照してください。

于 2009-07-24T00:13:34.047 に答える
1

ちょっとした答えですが、コメントするには長すぎます:

実装方法によっては、必ずしも何もインクリメントする必要はありません。超高速にすることを目指している場合は、サーバー リクエスト ログに頼るだけで十分です。「getImage.php?q=5123」に対するすべてのリクエストはすでにそこにあるため、クエリ文字列から関連情報を抜き出すだけで済みます。

追跡バグの提供に影響を与えない帯域外で、ログを後で (cron などを介して) 優れたクエリ可能なデータベースに解析できます。すべてを 1 回で実行する方がもう少し洗練されていますが、大量の要求を処理している場合でも、ログは既にそこにあります。

おまけ: サーバー ログにはリファラーとタイムスタンプも含まれているため、誰かが getImage.php を直接叩いたり、別の場所からリンクしたりして数字を操作しようとしているかどうかを簡単に確認できます。

于 2010-08-09T18:02:52.227 に答える