1、通过 $_SERVER['HTTP_USER_AGENT'] 来写一个php判断浏览器类型的办法。
function my_get_browser(){ if(empty($_SERVER['HTTP_USER_AGENT'])){ return '命令行,机器人来了!'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){ return 'Internet Explorer 9.0'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){ return 'Internet Explorer 8.0'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){ return 'Internet Explorer 7.0'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){ return 'Internet Explorer 6.0'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){ return 'Firefox'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){ return 'Chrome'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){ return 'Safari'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){ return 'Opera'; } if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){ return '360SE'; } }
这里主要用到了 $_SERVER['HTTP_USER_AGENT'],这个常量是用来检查浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好。用法很简单,自己在程序里面打印出来看看就明白了。
2、另外 php 判断浏览器的类型还可以通过 php 系统函数 get_browser() 函数,这个函数将会返回用户浏览器的一些性能数据。该函数通过查阅用户的 browscap.ini 文件,来测定用户浏览器的性能。若成功,则该函数返回包含用户浏览器信息的一个对象或一个数组,若失败,则返回 false。
get_browser 语法
get_browser(user_agent,return_array)
这个函数有两个参数,参数意义解释如下:
user_agent 可选。规定 HTTP 用户代理的名称。默认是 $HTTP_USER_AGENT 的值。您可以通过设置 NULL 绕过该参数。
return_array 可选。如果该参数设置为 true,本函数会返回一个数组而不是对象。
对于 php 通过 $_SERVER['HTTP_USER_AGENT'] 和 get_browser 获取的浏览器信息,我们可以通过如下例子来认识一下:
<?php echo $_SERVER['HTTP_USER_AGENT'] . "<br /><br />"; $browser = get_browser(null,true); print_r($browser); ?>
结果将输出:
Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Array(
[browser_name_regex] => ^mozilla/.\.0
(compatible; msie 6\.0.*;.*windows nt 5\.1.*\.net clr.*).*$
[browser_name_pattern] => Mozilla/?.0
(compatible; MSIE 6.0*;*Windows NT 5.1*.NET CLR*)*
[parent] => IE 6.0
[platform] => WinXP
[netclr] => 1
[browser] => IE
[version] => 6.0
[majorver] => 6
[minorver] => 0
[css] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] => 1
[vbscript] => 1
[javascript] => 1
[javaapplets] => 1
[activexcontrols] => 1
[cdf] => 1
[aol] =>
[beta] =>
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[ak] =>
[sk] =>
)
但是通过PHP的get_browser()函数获取客户端浏览器相关信息是有条件的,如果你直接使用一般会报出如下这个错误:
Warning: get_browser() [function.get-browser]: browscap ini directive not set in ……
通过查询 php 手册,得到的解释是:为了使用这个函数,你必须在php.ini文件里面增加一句指向 browscap.ini 文件的配置,browscap.ini文件里面记录了所有已存在的浏览器的类型及其信息,所以你要下载最新的这个文件,下载browscap.ini后放到服务器某个位置,get_browser()在使用时就是将获取的客户端信息与此文件进行对比,如果能找到,则返回相应类型。
由上看来要想使用 get_browser() 获取浏览器类型代价不小啊!
3、另外还有一种php判断浏览器类型的办法,即使用一个国外牛人写的开源代码。国外有个叫mavrick的网站,上面有关于浏览器的项目,一直更新所写的Browser类,我最新看到的这个类可以获取包括iPhone、BlackBerry、win、mac、linux、OS、BeOS等平台上的浏览器信息,功能可以说是十分强大。下载这个文件时要根据自己使用的PHP版本去选择。该类的具体代码自己去下载研究:
这个类的使用方法也很简单,如下:
$obj_browser = new Browser; //创建一个此类的一个实例 $obj_browser->getBrowser(); //调用相关函数,获取浏览器名称 $obj_browser->getPlatform(); //调用相关函数,获取系统名称 $obj_browser->isMobile(); //判断来访者所用设备是iPhone、iPad或者电脑(PC)
转自:http://mychange.name/archives/20
相关推荐
客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断
本资源是博客《根据 User Agent String 判断客户端平台及浏览器的 Java 程序》的源代码。包含有 Java 版和 PHP 版两个版本的源程序。读者朋友可以拿下来分别阅读进行参考。
何为MIME类型,它是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问时,浏览器会自动使用指定应用程序来打开。 多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 参考...
主要为大家详细介绍了PHP判断是手机端还是PC端,以及PHP判断是否是微信浏览器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例总结了PHP判断访客是否手机端(移动端浏览器)访问的方法。分享给大家供大家参考,具体如下: 在平常工作开发中,我们通常需要开发出PC端和移动端两个不同的系统,从而根据访问端的不同进入到不同的操作界面中...
黑帽seo手段中有一个大家都在用的技巧,在服务端判断 客户端浏览器的user-agent然后做进一步操作, 网上一直都有人在用 这个代码 先是一个js代码 判断网站访客来路 如果是搜索引擎来的 就跳转 如果是直接访问则不...
yii2-浏览器信息 Yii2扩展名。 提供有关浏览器的详细信息。 当前可用的提供商: Browscap( ) 安装 安装此扩展的首选方法是通过 。 要安装,请运行 $ php composer.phar require alexander-suter/yii2-browser...
当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面。下面用两种方法来说明其实现原理。 一、用HTTP标头来实现 标头是服务器以HTTP...
小程序权限判断 表情符号消息支持 客户端支持(手机端可通往App store/Android市场下载): Android / iOS / PC 网页版 部署服务器支持: Linux / Windows / 虚拟空间 连接方式: HTTP轮询模式 / 长连接模式 ...
实例262 使客户端浏览器支持COOKIE 344 5.2 SESSION 345 实例263 掌控登录用户的权限 346 实例264 屏蔽页面刷新对计数器的影响 347 实例265 在不同页面之间传递数据 348 实例266 SESSION购物车 350 实例267 解决...
实例262 使客户端浏览器支持COOKIE 344 5.2 SESSION 345 实例263 掌控登录用户的权限 346 实例264 屏蔽页面刷新对计数器的影响 347 实例265 在不同页面之间传递数据 348 实例266 SESSION购物车 350 实例267 解决...
然后在你的浏览器中打开此文件。看看这个页面你就知道你的PHP安装使用的选项了。 2.3 语法 就像前面提到的一样,你可以混合编写你的PHP代码和HTML代码。因此你必须有办法将两者区别开来。以下就是你可以采用的几种...
5.6.2 实例类型的判断方法instanceof 78 5.6.3 对象的克隆 78 5.7 一些设计观念 80 5.7.1 策略模式(Strategy Pattern) 81 5.7.2 单例模式(Singleton Pattern) 81 5.7.3 工厂模式(Factory Pattern) 83 5.8 接口...
这些数据就像小甜饼一样,数据量并不大,服务器端在需要的时候可以从客户端读取,保存在客户端的浏览器缓存目录下 ① 当浏览器访问,cookie.php时,服务器还以Set-Cookie:name=zxf;expire=Wed,21-Sep-2017 20:14 ...
(3)、浏览器前台需要用户开启Cookie功能(浏览需要IE6、火狐 3.x 以上) 二、PHP云人才系统产品特点: (1)、PHP OOP思想编写方便维护和升级有很好的安全性 (2)、采用PHP模板分离可以方便修改页面和二次开发升级 (3...
它是通过 Session ID 来判断的,什么是 Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ...
与支持标准HTML表单文件上传的任何服务器端平台(PHP,Python,Ruby on Rails,Java,Node.js,Go等)一起使用。 演示版 产品特点 多文件上传: 允许一次选择多个文件并同时上传。 拖放支持: 允许通过从桌面或...
-所有模板设均增加了B2C推广的页面,后台设置导航等地方,可以选择类型为搜B2C商城。需要申请59秒接口。 -修改了文章整合的discuz X2.5论坛无法读取静态地址的问题,已经可以整合静态地址到首页。 -调整了文章整合...