因为工作需要,最近在寻找用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

顺带一提,在制作或设计兼容多客户端网页的时候,主要有以下几种方法:

  1. 通过css判断客户端的分辨率(比如iPhone和一般的android手机的分辨率为480 x 960)来读取css文件,调整外观适应手机屏幕。在HTML5普及以来,这种方法被很多人接受,也可以说是最普遍的方法。

  2. 通过javascript来判断客户端种类,然后利用DOM改变网页内容来达到适应手机屏幕的目的

  3. 第3种是通过web编程语言,比如php,java等。这次介绍的是利用PHP来实现客户端的判断