отслеживание PDF-файлов с помощью php-ga и Google Analytics не работает правильно.

Во-первых, я полный новичок в php. Я хочу настроить отслеживание PDF для сайта, над которым я работаю, используя этот метод: http://www.lunametrics.com/blog/2013/06/04/tracking-pdfs-google-analytics-насторонесервера/

Я реализовал код, но получаю ошибку

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданная T_STRING, ожидание T_CONSTANT_ENCAPSED_STRING или '(' в /home/ngjge/public_html/download.php в строке 9

Любая помощь или указатели будут с благодарностью...

Мой php-код для страницы download.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;
?>

person Jrowe    schedule 02.07.2013    source источник


Ответы (2)


Вероятно, вы не используете PHP 5.3 или более позднюю версию.

person Lukek    schedule 03.07.2013

Я понимаю, что это, вероятно, старо... но:

Я запустил это на сервере 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, которая, как я обнаружил, требуется перед инициализацией.

person vr_driver    schedule 10.03.2014