0

首先,我是 php 的新手。我想为我正在使用此方法开发的网站设置 pdf 跟踪: http ://www.lunametrics.com/blog/2013/06/04/tracking-pdfs-google-analytics-server-side/

我已经实现了代码,但出现错误

解析错误:语法错误,意外的 T_STRING,在第 9 行的 /home/ngjge/public_html/download.php 中需要 T_CONSTANT_ENCAPSED_STRING 或 '('

任何帮助或指示将不胜感激......

我的 download.php 页面的 php 代码是:

?php

// Set header MIME-Type for PDF
header("Content-type: application/pdf");

// Google Analytics Server Side
$GA_ACCOUNT = "UA-8496414-14"; // replace with your GA-ID
include "autoload.php";
use UnitedPrototype\GoogleAnalytics;

// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker($GA_ACCOUNT, 'goodandevilbook.com');

// Assemble Visitor information
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->fromUtma($_COOKIE['__utma']);
//$visitor->setScreenResolution('1480x1200');

// Assemble Session information
$session = new GoogleAnalytics\Session();
$session->fromUtmb($_COOKIE['__utmb']);

// Get filename from the previous request
$filename = parse_url(urldecode($_SERVER['REQUEST_URI']), PHP_URL_PATH);
//$filetype = preg_replace("/.+\.(.+)/i","$1",$filename);

// Assemble Page information
$page = new GoogleAnalytics\Page($filename);
$page->setTitle($filename);
$page->setReferrer($_SERVER['HTTP_REFERER']);

// Track page view
$tracker->trackPageview($page, $session, $visitor);

// Create the URL for the PDF
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ||       $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$url  = $protocol.$_SERVER['HTTP_HOST'].$filename;

// Fetch the PDF (cURL it)
$ch = curl_init($url);
// This creates a user-agent string that we set .htaccess to ignore (preventing an endless ##loop)
curl_setopt($ch, CURLOPT_USERAGENT, "LunaMetrics123");
$data = curl_exec($ch);
curl_close($ch);

// For good measure
exit;
?>
4

2 回答 2

0

我意识到这可能已经过时了......但是:

我在 php 5.3 服务器上运行它:

spl_autoload_register(function($className) {
    if($className[0] == '\\') {
        $className = substr($className, 1);
    }

    // Leave if class should not be handled by this autoloader
    if(strpos($className, 'UnitedPrototype\\GoogleAnalytics') !== 0) return;

    $classPath = strtr(substr($className, strlen('UnitedPrototype')), '\\', '/') . '.php';

    if(file_exists(__DIR__ . $classPath)) {
        require(__DIR__ . $classPath);
    }
});




use UnitedPrototype\GoogleAnalytics;

// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker('UA-103xxxxx', 'server.com');

// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->setScreenResolution('1024x768');

// Assemble Session information
// (could also get unserialized from PHP session)
$session = new GoogleAnalytics\Session();

// Assemble Page information
$page = new GoogleAnalytics\Page($_SERVER["SCRIPT_FILENAME"]); // done
$page->setTitle('My Page');

// Track page view
$tracker->trackPageview($page, $session, $visitor);

以下链接来自http://eamann.com/tech/server-side-analytics-google/ 我在这里登陆:https ://github.com/thomasbachem/php-ga/

代码的第一部分来自“autoload.php”页面,我发现在初始化之前首先需要它。

于 2014-03-10T05:40:13.927 回答
0

您可能没有使用 PHP 5.3 或更高版本。

于 2013-07-03T14:50:47.803 回答