PHP获取浏览器信息(三种)
转自本人个人网站 【PHP探路者
】,欢迎各位访问站点!
在使用PHP获取浏览器信息时,通常有两种方式:
第一种是:使用$_SERVER[HTTP_USER_AGENT]选项
此方式获取的是格式不规则的数据,如
Mozilla/4.0 (compatible; MSIE 8.0
; Windows NT 5.1; Trident/4.0; GTB6; CIBA; .NET CLR 2.0.50727)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)
AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33
Safari/532.0
具体浏览器型号需要自己分析才能获取,分别是 IE8、Firefox/3.5.5、
Chrome/3.0。
第二种是:使用PHP的get_browser()函数
在使用此函数时,一般会得到如下警告
“Warning
: get_browser() [function.get-browser
]: browscap ini directive
not set. in …”
通过查看PHP手册可以知道,这个函数的使用是有条件的:
Note
: In order for this to
work, your browscap configuration setting in php.ini
must point to
the correct location of the browscap.ini
file on your
system.
browscap.ini
is not bundled with PHP, but you may find an
up-to-date »
php_browscap.ini
file here.
While browscap.ini
contains
information on many browsers, it relies on user updates to keep the database
current. The format of the file is fairly self-explanatory.
意思是说:为了使用这个函数,你必须在php.ini文件里面增加一句指向 browscap.ini
文件的配置,browscap.ini文件里面记录了所有已存在的浏览器的类型及其信息,
所以你要下载最新的这个文件,下载browscap.ini后放到服务器某个位置,get_browser()在使用时就是将获取的客户端信息与此文件进行对比,如果能找到,则返回相应类型。
这样看来第二种方式有些复杂,其实也有更好的方式,那就是第三种:
第三种:使用已有的功能强大的开源代码。
国外有个叫mavrick
的
网站,上面有关于浏览器的项目,一直更新所写的Browser
类,我最新看到的这个类可以获取包括iPhone、BlackBerry、win、mac、linux、OS、BeOS等平台上的浏览器信息,功能可以说是十分强大。下载这个文件时要根据自己使用的PHP版本去选择。
Click here
for an
example.
PHP5
Browser v1.6 Detection Page
PH
相关文档:
PHP程序员的十个建议性技巧
2009-07-11 09:46
一个同样的功能,各种程序语言大多能实现.就算一种语言,也有很多种实现方法.各种方法各有各的好坏.
对于PHP
比较常见的几个程序使用问题.本文总结一些PHP程序员的十个建设与技巧,供大家参考.
1.使用 ip2long() 和 ......
采集已经不是什么新名词了,很多站长为了省事,也局限于人力的缺乏,使用程序来给自己
的网站添砖加瓦,比如本人的个人网站西西弗斯网也采集了大量的新闻,那么如果实现呢?今天我们运用php来实现这个功能.
谈到采集,我们不得不说两个东西,第一个是如何获取远程网站的源代码,这个可以通过php的一个扩 ......
PHP 5.2 及以上版本提供了 json_encode 和 json_decode 函数,相当好用。
而之前的版本则需要下载网友们自行开发的库(有兴趣的可以看下 http://code.itlearner.com/php/JSON-class.html )
可以参考如下这个方法来在低版本上扩充这两个函数:
if (!function_exists('json_encode') && !function_exists('j ......
cookie默认不能存数组,所以下面的写法是错误的。
<?php
$arr = array(1,2,3);
setcookie('a',$arr);
$arr = array(1,2,3);
setcookie('a',$arr);
?>
报错如下:
Warning: setcookie() expects parameter 2 to be string, array given in
但是PHP可以把同名且后面以[]结尾的cookie解析为数组。在 ......