c0d3man52

Webサイト制作

PHPのユーザーエージェントライブラリphp-useragentを使ってみた

自作フレームワーク用に、ユーザーエージェントの判定が欲しかったので、ライブラリを探していたところ、php-useragentといういい感じのライブラリがあったので、使い方のまとめです。

公開日: 2019.4.5

公式サイト

zsxsoft/php-useragent

同じ製作者の方が作っている、Javascript版もあるようです。

Useragent.js

インストール

まずはインストールします。Composerでインストールが簡単です。

composer require zsxsoft/php-useragent

使い方

composerならautoloadで自動的に読み込まれるので、requireだけすればOKです。

<?php
require_once __DIR__ . './vendor/autoload.php';

$ua = UserAgentFactory::analyze($_SERVER['HTTP_USER_AGENT']);

これで$uaにユーザーエージェント情報が格納されます。

取得できるデータ

取得できるデータは下記になります。

$ua->useragent
$ua->platform['type']
$ua->device['image']
$ua->device['title']
$ua->device['brand']
$ua->device['model']
$ua->os['image']
$ua->os['title']
$ua->os['name']
$ua->os['version']
$ua->browser['image']
$ua->browser['title']
$ua->browser['name']
$ua->browser['version']

大きく分けて、プラットフォーム、デバイス、OS、ブラウザのデータが取れます。

$ua->useragentはHTTP_USER_AGENTの生データが入ります。

ブラウザとプラットフォームの判定リスト

一部ですが、公式サイトによると下記のようになります。

Tested Browsers: Amazon Silk / Android Webkit / Avant Browser / Comodo Dragon / curl / Firefox / Google Chrome / Internet Explorer / Microsoft Edge / Links / Lynx / Maxthon / MxNitro / Opera / QQBrowser / Safari SRWare Iron / Teleca Q7 / UC Browser / Vivaldi / W3M / wget / Yandex.Browser and so on..

OS: Android / Arch Linux / CentOS / Chrome OS / Debain / Fedora / FreeBSD / OSX / Red Hat / openSUSE / SymbianOS / Unix / Palm webOS / Windows 3.1 – 10 / Ubuntu / Linux and so on..

Devices: Xiaomi / BlackBerry / Nexus / HTC / Huawei / Kindle / Lenovo / LG / Motorola / Nokia / OnePlus / PlayStation / Samsung / Sony Xperia / ZTE / Ubuntu / Windows Phone / Apple Family and so on.


簡単にですが、PHPのユーザーエージェントライブラリphp-useragentを見てきました。

ユーザーエージェントの判定はリストのメンテナンスが大変なので、ライブラリを使うほうがコスパは高いですね。