携帯googleアクセス解析をPHP4で使う

 知らなかった。googleの携帯アクセス解析が、php4だと動きません。php4だと「setrawcookie」と「file_get_contents」が対応していないのが原因みたいです。検索してみるとphp4でgoogleの携帯アクセス解析を使っているページがありましたので、参考にさせていただきました。(そのまま、使わせてもらいました)

(参考サイト)
PHP4.4.4環境でGoogle Analytics Mobileを利用する

1. 「ga.php」の修正

「ga.php」の修正場所

「setrawcookie」を「setrawcookie」に変更します。

参考サイトで使っている独自関数を追記する。
function ga_get_contents ($str_url, $ary_opt) {
// —- define —-
$port = 80;
$timeout = 29;

// —- init —-
$str_ret = ”;
$err_num = ”;
$err_str = ”;
$ary_url = parse_url($str_url);

// —- check param —-
if (is_array($ary_opt) === false) {
$ary_opt = array();
$ary_opt[‘http’] = array();
}
if (isset($ary_opt[‘http’][‘method’]) === false) {
$ary_opt[‘http’][‘method’] = ‘GET’;
}
if (isset($ary_opt[‘http’][‘user_agent’]) === false) {
$ary_opt[‘http’][‘user_agent’] = ‘PHP’;
}
if (isset($ary_opt[‘http’][‘header’]) === false) {
$ary_opt[‘http’][‘header’] = ‘Accepts-Language: ja-jp’;
}
if (is_array($ary_url) === false) {
$ary_url = array();
}
if (isset($ary_url[‘host’]) === false) {
$ary_url[‘host’] = ”;
}
if (isset($ary_url[‘path’]) === false) {
$ary_url[‘path’] = ”;
}
if (isset($ary_url[‘query’]) === false) {
$ary_url[‘query’] = ”;
}

// —- connect —-
$fp = fsockopen($ary_url[‘host’], $port, $err_num, $err_str, $timeout);
if ($fp !== false) {
// —- make request —-
$str_out = ”;
$str_out .= $ary_opt[‘http’][‘method’] . ‘ ‘ . $ary_url[‘path’] . ‘?’ .$ary_url[‘query’] . ‘ HTTP/1.1’ . “\r\n”;
$str_out .= ‘Host: ‘ . $ary_url[‘host’] . “\r\n”;
$str_out .= ‘User-Agent: ‘ . $ary_opt[‘http’][‘user_agent’] . “\r\n”;
$str_out .= $ary_opt[‘http’][‘header’] . “\r\n”;
$str_out .= ‘Connection: Close’ . “\r\n”;
$str_out .= “\r\n”;

// —- put request —-
fwrite($fp, $str_out);
while (!feof($fp)) {
$str_ret .= fgets($fp, 347);
}

// —- disconnect —-
fclose($fp);
unset($str_out);
}
unset($fp);
unset($err_num);
unset($err_str);
unset($ary_url);

// —- trim header —-
if (strpos($str_ret, “\r\n\r\n”) !== false) {
$ary_tmp = explode(“\r\n\r\n”, $str_ret);
if (count($ary_tmp) > 1) {
array_shift($ary_tmp);
$str_ret = implode(“\r\n\r\n”, $ary_tmp);
}
unset($ary_tmp);
}
return $str_ret;
}
// 「ga_get_contents」はここまでです。

「file_get_contents」を2箇所変更する。
file_get_contents($utmUrl, false, stream_context_create($options))

ga_get_contents($utmUrl, $options)

2. 確認方法
 確認方法は、設置した「ga.php」にブラウザ(firefox)でアクセスしてください。
成功していいると、タブの部分に白い画像(gif 画像 1×1 px)が表示されます。失敗している場合は、IEで確認すると画像が「×」になっています。

3.その他の情報について
 「ga.php」のダウンロード、imgタグの貼り付ける場所などは、以下のサイトを参考にさせていただきました。
http://jp.layer8.sh/reference/entry/show/id/2376
http://analytics.ryow.net/2010/05/22-005009.php

4.「ga.php」について
 今回、作成した「ga.php」は、以下のようになりました。よかったら参考にしてください。
ga.phpをダウンロードする。

(参考サイト)
 今回参考にさせて頂いたサイト「PHP4.4.4環境でGoogle Analytics Mobileを利用する」です。おかげさまで、php4でgoogleアクセス解析を取得することができました。

Be the first to comment on "携帯googleアクセス解析をPHP4で使う"

Leave a comment