phpでUserAgentからブラウザ・OS・モバイル端末の詳細情報諸々を取得する方法

phpのbrowscap.iniを用いれば、UserAgentからブラウザや端末の様々な情報の解析がラクに出来るようなります。
今回はその自動browscap.iniの自動更新シェルとサンプルをご紹介。

1.下準備。
・phpのバージョンが4.3.2以上であることを確認
・php.ini中の”browscap”のファイルパスを指定。
(ここでは”/etc/php.d/browscap.ini”と仮定する)

2.UserAgentのデータベースを自動更新するスクリプトを作成

#sudo vi /etc/cron.daily/php-browscap-update
#!/bin/sh
wget -P /etc/php.d http://browscap.org/stream?q=Full_PHP_BrowsCapINI > /dev/null 2>&1
mv -f /etc/php.d/stream?q=Full_PHP_BrowsCapINI /etc/php.d/browscap.ini
systemctl reload httpd.service

3.cronスクリプトのユーザ権限とパーミッションを設定する

sudo chown root:root /etc/cron.daily/php-browscap-update
sudo chmod +x /etc/cron.daily/php-browscap-update

4.一度、上記スクリプトを走らせておく

sudo sh /etc/cron.daily/php-browscap-update

5.UserAgentから端末情報の詳細を得るphpスクリプトを作成
・HTTPアクセスで得る場合

#vi /path/to/get_brouser_info.php
<html lang="ja">
<head>
<meta charset="UTF-8">
</head>
<body>
<?php
$browser = get_browser(null, true);
echo "<pre>\n";
print_r($browser);
echo "</pre>\n";
?>
</body>
</html>

・引数で得る場合

#vi /path/to/closed_directory/get_browser_info.php
#!/usr/bin/php
<?php
$browser = get_browser($argv[1], true);
print_r($browser);
?>

#/path/to/closed_directory/get_browser_info.php "[第一引数にUserAgent]"

コメント

タイトルとURLをコピーしました