2010-08-25 60 views
1

基本上我想在服務器上運行Google Analytics,而不是顯示1px .GIF(原因是我想要顯示圖像,而不顯示它在HTML中,但是作爲Content-類型:image/JPEG在圖像上使用Google Analytics

$GA_ACCOUNT = "MO-3845491-5"; 
     $GA_PIXEL = "ga.php"; 

     function googleAnalyticsGetImageUrl() { 
     global $GA_ACCOUNT, $GA_PIXEL; 
     $url = ""; 
     $url .= $GA_PIXEL . "?"; 
     $url .= "utmac=" . $GA_ACCOUNT; 
     $url .= "&utmn=" . rand(0, 0x7fffffff); 

     $referer = $_SERVER["HTTP_REFERER"]; 
     $query = $_SERVER["QUERY_STRING"]; 
     $path = $_SERVER["REQUEST_URI"]; 

     if (empty($referer)) { 
      $referer = "-"; 
     } 
     $url .= "&utmr=" . urlencode($referer); 

     if (!empty($path)) { 
      $url .= "&utmp=" . urlencode($path); 
     } 

     $url .= "&guid=ON"; 

     return $url; 
     } 

$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(); 
    //echo '<img src="' . $googleAnalyticsImageUrl . '" />'; 
    //open the google script with all our settings to generate the 1px x 1px blank gif which reports to GA 
    $handle = fopen ($googleAnalyticsImageUrl, "r"); 
    $test = fgets($handle); 
    echo $test; 
    fclose($handle); 

//Pretend this page was a jpg image all along and get the jpg and return it. 
$imageurl = fopen ('http://www.default.com/test.jpg', "r"); //this is where the real file should be located 
while (!feof ($imageurl)) { 
$image = fgets($imageurl, 4096); 
header('Content-type: image/jpeg'); 
echo $image; 
} 
fclose($imageurl); 

任何幫助,因爲我很新的GA

+0

我不明白你在做什麼。您是否在代理GA映像以更改其映像類型?爲什麼? (它不會工作,無論如何,因爲參考信息將不正確。) – 2010-08-25 08:46:48

+0

不,我想基本上將GA添加到.jpg(我自己的圖像),但它必須是一個PHP文件,以獲得GA運行。所以我猜我必須首先打開並關閉GA .gif文件(在服務器上) – NWhite 2010-08-25 08:55:14

回答

0

我不能就是否有可能觸發對GA的請求的方式發表評論,但你不勝感激似乎已經完成了你的功課和GA通話看起來不錯。

爲了使這項工作,就我所見,唯一的是不輸出GA圖像的內容,因爲這會搞砸你的JPG。所以刪除

echo $test; 

我看不到別的毛病 - 如果它仍然無法正常工作,你必須添加有關的問題是什麼的一些信息。

儘管如此,即使此方法有效,通過PHP傳遞大量圖像也可能會對服務器造成負擔,因爲每個圖像請求都會打開一個PHP解釋器實例,如果您的緩存將會成爲問題想要統計所有視圖。

您是否考慮過使用父HTML頁面中的JavaScript觸發GA「點擊」事件?還是那不夠可靠?

+0

我實際上只是添加了 >> echo $ test; 原因是它似乎仍然沒有正確運行GA。我唯一的想法是在單獨的文件上運行fOpen以運行GA.gif文件的HTML腳本,但它似乎無法正常運行。 我沒有想過JavaScript選項,需要考慮這一點。感謝您的幫助Pekka – NWhite 2010-08-25 09:06:47

+0

@NWhite也許GA不適合做這件事。圖像命中由您的網絡服務器自動記錄。也許Web服務器的日誌是正確的轉向這裏。 – 2010-08-25 09:11:43

相關問題