因为工作需要,最近在寻找用PHP来判断客户端是否是手机的方法。于是发现了php-mobile-detect这个PHP的class,利用这个class就可以轻松获取客户端信息。在这里分享一下。
php-mobile-detect
php-mobile-detect是一个开源的PHP Class代码。主要是用来探寻客户端的种类和信息。主页:http://mobiledetect.net/
你也可以在Github上找到: https://github.com/serbanghita/Mobile-Detect (2015年03月22日更新)
如何使用
懂得一点PHP的人也许看主页就能明白了,在这里翻译并解释一下。(需要一些“对象”的知识)利用include来包含刚才下载来的Mobile_Detect.php
文件,注意要修改路径。
基本用法
利用if语句来判断
<?php
isMobile()) {
// 在上一步如果你用了自己的变量名的话(比如:$theClientDevice),$detect->isMobile()就要改成$theClientDevice->isMobile(),下同。
// 如果客户端是手机的话,执行这里的代码
}
if($detect->isTablet()){
// 如果客户端是平板电脑的话,执行这里的代码
}
你还可以指定更加详细的判断条件,比如是否是iOS系统(iPhone的系统):
<?php
isiOS()){
// 如果是iOS的系统的话,执行这里的代码
}
if($detect->isAndroidOS()){
// 如果是android系统的话,执行这里的代码
}
你也可以使用“is('客户端类型')”来判断客户端种类(处于测试阶段):
<?php
is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
[...]
获取客户端的系统版本(测试阶段):
<?php
version('iPad'); // 4.3 (float)
$detect->version('iPhone') // 3.1 (float)
$detect->version('Android'); // 2.1 (float)
$detect->version('Opera Mini'); // 5.0 (float)
//返回的数值属于浮点类型
[...]
后记
这个class可以简单地用在各种PHP程序上,包括Wordpress。利用这种方法,就可以轻松实现对各种客户端的柔软对应。让访问者达到最佳的访问体验。本帖只介绍了初步的用法,详细请查看官方文档:https://github.com/serbanghita/Mobile-Detect
顺带一提,在制作或设计兼容多客户端网页的时候,主要有以下几种方法:
-
通过css判断客户端的分辨率(比如iPhone和一般的android手机的分辨率为480 x 960)来读取css文件,调整外观适应手机屏幕。在HTML5普及以来,这种方法被很多人接受,也可以说是最普遍的方法。
-
通过javascript来判断客户端种类,然后利用DOM改变网页内容来达到适应手机屏幕的目的
-
第3种是通过web编程语言,比如php,java等。这次介绍的是利用PHP来实现客户端的判断。