首页 > 编程知识 正文

php获取浏览器类型及版本号(php获取浏览器类型及版本号的方法)

时间:2023-11-28 16:46:10 阅读:310054 作者:NAOV

本文目录一览:

  • 1、php 怎么获取浏览器的类型?
  • 2、如何查看php版本信息
  • 3、PHP怎么获取系统信息和服务器详细信息
  • 4、怎么查看PHP版本信息
  • 5、用PHP怎么判断用户所用浏览器以及浏览器版本
  • 6、php怎么获取浏览器的类型?

php 怎么获取浏览器的类型?

获取客户端浏览器、IP地址操作系统类型等的方法(PHP)

=========================

获取客户端信息(浏览器、IP、OS)

?php

/*

作用:取得客户端信息

参数:

返回:指定的资料

使用:

$code = new clientGetObj;

1、浏览器:$str = $code-getBrowse();

2、IP地址:$str = $code-getIP();

4、操作系统:$str = $code-getOS();

*/

class clientGetObj

{

function getBrowse()

{

global $_SERVER;

$Agent = $_SERVER['HTTP_USER_AGENT'];

$browser = '';

$browserver = '';

$Browser = array('Lynx', 'MOSAIC', 'AOL', 'Opera', 'JAVA', 'MacWeb', 'WebExplorer', 'OmniWeb');

for($i = 0; $i = 7; $i ++){

if(strpos($Agent, $Browsers[$i])){

$browser = $Browsers[$i];

$browserver = '';

}

}

if(ereg('Mozilla', $Agent) !ereg('MSIE', $Agent)){

$temp = explode('(', $Agent);

$Part = $temp[0];

$temp = explode('/', $Part);

$browserver = $temp[1];

$temp = explode(' ', $browserver);

$browserver = $temp[0];

$browserver = preg_replace('/([d.]+)/', '1', $browserver);

$browserver = $browserver;

$browser = 'Netscape Navigator';

}

if(ereg('Mozilla', $Agent) ereg('Opera', $Agent)) {

$temp = explode('(', $Agent);

$Part = $temp[1];

$temp = explode(')', $Part);

$browserver = $temp[1];

$temp = explode(' ', $browserver);

$browserver = $temp[2];

$browserver = preg_replace('/([d.]+)/', '1', $browserver);

$browserver = $browserver;

$browser = 'Opera';

}

if(ereg('Mozilla', $Agent) ereg('MSIE', $Agent)){

$temp = explode('(', $Agent);

$Part = $temp[1];

$temp = explode(';', $Part);

$Part = $temp[1];

$temp = explode(' ', $Part);

$browserver = $temp[2];

$browserver = preg_replace('/([d.]+)/','1',$browserver);

$browserver = $browserver;

$browser = 'Internet Explorer';

}

if($browser != ''){

$browseinfo = $browser.' '.$browserver;

} else {

$browseinfo = false;

}

return $browseinfo;

}

function getIP ()

{

global $_SERVER;

if (getenv('HTTP_CLIENT_IP')) {

$ip = getenv('HTTP_CLIENT_IP');

} else if (getenv('HTTP_X_FORWARDED_FOR')) {

$ip = getenv('HTTP_X_FORWARDED_FOR');

} else if (getenv('REMOTE_ADDR')) {

$ip = getenv('REMOTE_ADDR');

} else {

$ip = $_SERVER['REMOTE_ADDR'];

}

return $ip;

}

function getOS ()

{

global $_SERVER;

$agent = $_SERVER['HTTP_USER_AGENT'];

$os = false;

if (eregi('win', $agent) strpos($agent, '95')){

$os = 'Windows 95';

}

else if (eregi('win 9x', $agent) strpos($agent, '4.90')){

$os = 'Windows ME';

}

else if (eregi('win', $agent) ereg('98', $agent)){

$os = 'Windows 98';

}

else if (eregi('win', $agent) eregi('nt 5.1', $agent)){

$os = 'Windows XP';

}

else if (eregi('win', $agent) eregi('nt 5', $agent)){

$os = 'Windows 2000';

}

else if (eregi('win', $agent) eregi('nt', $agent)){

$os = 'Windows NT';

}

else if (eregi('win', $agent) ereg('32', $agent)){

$os = 'Windows 32';

}

else if (eregi('linux', $agent)){

$os = 'Linux';

}

else if (eregi('unix', $agent)){

$os = 'Unix';

}

else if (eregi('sun', $agent) eregi('os', $agent)){

$os = 'SunOS';

}

else if (eregi('ibm', $agent) eregi('os', $agent)){

$os = 'IBM OS/2';

}

else if (eregi('Mac', $agent) eregi('PC', $agent)){

$os = 'Macintosh';

}

else if (eregi('PowerPC', $agent)){

$os = 'PowerPC';

}

else if (eregi('AIX', $agent)){

$os = 'AIX';

}

else if (eregi('HPUX', $agent)){

$os = 'HPUX';

}

else if (eregi('NetBSD', $agent)){

$os = 'NetBSD';

}

else if (eregi('BSD', $agent)){

$os = 'BSD';

}

else if (ereg('OSF1', $agent)){

$os = 'OSF1';

}

else if (ereg('IRIX', $agent)){

$os = 'IRIX';

}

else if (eregi('FreeBSD', $agent)){

$os = 'FreeBSD';

}

else if (eregi('teleport', $agent)){

$os = 'teleport';

}

else if (eregi('flashget', $agent)){

$os = 'flashget';

}

else if (eregi('webzip', $agent)){

$os = 'webzip';

}

else if (eregi('offline', $agent)){

$os = 'offline';

}

else {

$os = 'Unknown';

}

return $os;

}

}

?

获取IP地址

说明:使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实IP 地址,就要使用Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。

还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

......

userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

......

即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。

方法一:

function real_ip($type)

{

if ($_SERVER["HTTP_X_FORWARDED_FOR"])

{

if ($_SERVER["HTTP_CLIENT_IP"])

{

$proxy = $_SERVER["HTTP_CLIENT_IP"];

}

else

{

$proxy = $_SERVER["REMOTE_ADDR"];

}

$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

}

else

{

if ($_SERVER["HTTP_CLIENT_IP"])

{

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

else

{

$ip = $_SERVER["REMOTE_ADDR"];

}

}

if($type=='ip')return $ip;

if($type=='proxy')return $proxy;

}

方法二:

?

function iptype1 () {

if (getenv("HTTP_CLIENT_IP")) {

?return getenv("HTTP_CLIENT_IP");

}

else {

?return "none";

}

}

function iptype2 () {

if (getenv("HTTP_X_FORWARDED_FOR")) {

?return getenv("HTTP_X_FORWARDED_FOR");

}

else {

?return "none";

}

}

function iptype3 () {

if (getenv("REMOTE_ADDR")) {

?return getenv("REMOTE_ADDR");

}

else {

?return "none";

}

}

function ip() {

$ip1 = iptype1();

$ip2 = iptype2();

$ip3 = iptype3();

if (isset($ip1) $ip1 != "none" $ip1 != "unknown") {

?return $ip1;

}

elseif (isset($ip2) $ip2 != "none" $ip2 != "unknown") {

?return $ip2;

}

elseif (isset($ip3) $ip3 != "none" $ip3 != "unknown") {

?return $ip3;

}?

else {

return "none";

}

}

Echo ip();

?

方法三:

01 : function ipCheck() {

02 : if (getenv( 'HTTP_CLIENT_IP' )) {

03 : $ip = getenv( 'HTTP_CLIENT_IP' );

04 : }

05 : elseif (getenv( 'HTTP_X_FORWARDED_FOR' )) {

06 : $ip = getenv( 'HTTP_X_FORWARDED_FOR' );

07 : }

08 : elseif (getenv( 'HTTP_X_FORWARDED' )) {

09 : $ip = getenv( 'HTTP_X_FORWARDED' );

10 : }

11 : elseif (getenv( 'HTTP_FORWARDED_FOR' )) {

12 : $ip = getenv( 'HTTP_FORWARDED_FOR' );

13 : }

14 : elseif (getenv( 'HTTP_FORWARDED' )) {

15 : $ip = getenv( 'HTTP_FORWARDED' );

16 : }

17 : else {

18 : $ip = $_SERVER[ 'REMOTE_ADDR' ];

19 : }

20 : return $ip;

21 : }

如何查看php版本信息

Php的版本控制一直也是一个比较棘手的问题,因为版本不同导致有许多功能不能很好的实现,所以当程序上传到空间的时候一定要对版本进行有效的控制,这样可以避免不必要的麻烦产生。那么如何查看当前你的php版本呢?下面提供两种方法帮你查看你的php版本。

使用phpinfo()函数,该函数就是用来显示php服务器的配置信息,在你的环境下创建一个php文件,在里面数据下面代码,然后执行就会打印出下面结果,可以清楚的看到,你当前php的版本,已经php、apache、mysql等配置信息。

?php

Phpinfo();

?

使用phpsersion()函数,这个函数的原型是string phpversion(void);返回的一个string,本函数是返回php版本信息,创建一个php文件,输入以下代码,就可以在浏览器中看到返回的php的版本信息了。

?php

echo phpversion();

?

PHP怎么获取系统信息和服务器详细信息

获取系统类型及版本号: php_uname() (例:Windows NT COMPUTER 5.1 build 2600)

只获取系统类型: php_uname('s') (或:PHP_OS,例:Windows NT)

只获取系统版本号: php_uname('r') (例:5.1)

获取PHP运行方式: php_sapi_name() (PHP run mode:apache2handler)

获取前进程用户名: Get_Current_User()

获取PHP版本: PHP_VERSION

获取Zend版本: Zend_Version()

获取PHP安装路径: DEFAULT_INCLUDE_PATH

获取当前文件绝对路径: __FILE__

获取Http请求中Host值: $_SERVER["HTTP_HOST"] (返回值为域名或IP)

获取服务器IP: GetHostByName($_SERVER['SERVER_NAME'])

接受请求的服务器IP: $_SERVER["SERVER_ADDR"] (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))

获取客户端IP: $_SERVER['REMOTE_ADDR']

获取服务器解译引擎: $_SERVER['SERVER_SOFTWARE']

获取服务器CPU数量: $_SERVER['PROCESSOR_IDENTIFIER']

获取服务器系统目录: $_SERVER['SystemRoot']

获取服务器域名: $_SERVER['SERVER_NAME'] (建议使用:$_SERVER["HTTP_HOST"])

获取用户域名: $_SERVER['USERDOMAIN']

获取服务器语言: $_SERVER['HTTP_ACCEPT_LANGUAGE']

获取服务器Web端口: $_SERVER['SERVER_PORT']

访问用户的浏览器信息: $_SERVER['HTTP_USER_AGENT'];

script language="JavaScript"

document.write("浏览器名称: "+navigator.appName+"br");

document.write("浏览器版本号: "+navigator.appVersion+"br");

document.write("系统语言: "+navigator.systemLanguage+"br");

document.write("系统平台: "+navigator.platform+"br");

document.write("浏览器是否支持cookie: "+navigator.cookieEnabled+"br");

/script

怎么查看PHP版本信息

Php的版本控制一直也是一个比较棘手的问题,因为版本不同导致有许多功能不能很好的实现,所以当程序上传到空间的时候一定要对版本进行有效的控制,这样可以避免不必要的麻烦产生。那么如何查看当前你的php版本呢?下面提供两种方法帮你查看你的php版本。

使用phpinfo()函数,该函数就是用来显示php服务器的配置信息,在你的环境下创建一个php文件,在里面数据下面代码,然后执行就会打印出下面结果,可以清楚的看到,你当前php的版本,已经php、apache、mysql等配置信息。

?php

Phpinfo();

?

使用phpsersion()函数,这个函数的原型是string phpversion(void);返回的一个string,本函数是返回php版本信息,创建一个php文件,输入以下代码,就可以在浏览器中看到返回的php的版本信息了。

?php

echo phpversion();

?

用PHP怎么判断用户所用浏览器以及浏览器版本

?php

/** +--------------------------------------------+

Author: Paul

Copyright (c) 16/3/2011

+--------------------------------------------+ */

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Maxthon')) {

$browser = 'Maxthon';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0')) {

$browser = 'MSIE 8.0';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0')) {

$browser = 'MSIE 7.0';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0')) {

$browser = 'MSIE 6.0';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'NetCaptor')) {

$browser = 'NetCaptor';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape')) {

$browser = 'Netscape';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx')) {

$browser = 'Lynx';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Opera')) {

$browser = 'Opera';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Konqueror')) {

$browser = 'Konqueror';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {

$browser = 'Firefox';

} elseif(strpos($_SERVER['HTTP_USER_AGENT'],'Safari')) {

$browser = 'Safari';

} else {

$browser = 'other';

}

echo $browser;

?

php怎么获取浏览器的类型?

可以使用预定义变量:

$_SERVER['HTTP_USER_AGENT']

返回如下:

Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7

php,“超文本预处理器”是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。