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中的实现。此方案仅是插件机制在PHP中的实现方案之一,写下来和大家分享,欢迎大家一起讨论。
插件
,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候
激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影 ......
function get_web_page( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page 返回网页
CURLOPT_HEADER => false, // 不返回头信息
CURLOPT_FOLLOWLOCATION => true, ......
服务器变量 $_SERVER 详解:
1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名
2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。
4、$_SERVER['a ......
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点:
1、客户端禁用了cookie
2、浏览器出现问题,暂时无法存取cookie
3、php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable ......
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)
2、echo(),print(),print_r()的区别(3分)
3、能够使HTML和PHP分离开使用的模板(1分)
4、使用哪些工具进行版本控制?(1分)
5、如何实现字符串翻转?(3分)
--------------------------------------------------------------- ......