Протокол Google Measurement возвращает GIF89a , D;

Я сохраняю показы с помощью API протокола Google Measurement. Это работает хорошо, но, хотя я не повторяю ничего, он возвращает GIF89a , D; который виден на странице. Есть идеи, как я могу это скрыть?

Я отправляю данные с помощью HTTP-запроса.

$url = 'http://www.google-analytics.com/collect';
$fields_string = '';
$fields = array(
'v' => 1,
'tid' => 'UA-xxxxxxx-xx',
'cid' => xxx,
't' => 'event',
'ec' => 'category',
'ea' => 'impression',
'el' => 'label'
);

foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);
curl_close($ch);

3

Решение

В текущем состоянии при выполнении вызова cURL возвращенная информация будет отображаться на экране. Если вы хотите избежать этого, вы можете использовать CURLOPT_RETURNTRANSFER, что позволит вам сохранить возвращенную информацию в переменной, как вы сделали.

$result = curl_exec($ch);

Поскольку вы не «говорите» о скручивании, в противном случае он просто выльется в браузер.

Итак, наконец, вы должны выглядеть следующим образом:

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url); //curl the url
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, TRUE); //return the transfer to be later saved to a variable
$result = curl_exec($ch);
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]