PHP判断浏览器、判断语言代码分享

PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。

判断浏览器类型

//判断类型
<?php
if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
echo "Internet Explorer 8.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
echo "Internet Explorer 7.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
echo "Internet Explorer 6.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))
echo "Firefox 3";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))
echo "Firefox 2";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
echo "Google Chrome";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
echo "Safari";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
echo "Opera";
else echo $_SERVER["HTTP_USER_AGENT"];
?>

判断语言

<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
if (preg_match("/zh-c/i", $lang))
echo "简体中文";
else if (preg_match("/zh/i", $lang))
echo "繁體中文";
else if (preg_match("/en/i", $lang))
echo "English";
else if (preg_match("/fr/i", $lang))
echo "French";
else if (preg_match("/de/i", $lang))
echo "German";
else if (preg_match("/jp/i", $lang))
echo "Japanese";
else if (preg_match("/ko/i", $lang))
echo "Korean";
else if (preg_match("/es/i", $lang))
echo "Spanish";
else if (preg_match("/sv/i", $lang))
echo "Swedish";
else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>

判断浏览器内核的PHP程序

<?php
error_reporting(E_ALL & ~ E_NOTICE);
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(preg_match('/Mozilla/', $Agent) && !preg_match('/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(preg_match('/Mozilla/', $Agent) && preg_match('/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(preg_match('/Mozilla/', $Agent) && preg_match('/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 (preg_match('/win/', $agent) && strpos($agent, '95')){
$os = 'Windows 95';
}
else if (preg_match('/win 9x/', $agent) && strpos($agent, '4.90')){
$os = 'Windows ME';
}
else if (preg_match('/win/', $agent) && preg_match('98', $agent)){
$os = 'Windows 98';
}
else if (preg_match('/win/', $agent) && preg_match('nt 5.1', $agent)){
$os = 'Windows XP';
}
else if (preg_match('/win/', $agent) && preg_match('nt 5', $agent)){
$os = 'Windows 2000';
}
else if (preg_match('/win/', $agent) && preg_match('nt', $agent)){
$os = 'Windows NT';
}
else if (preg_match('/win/', $agent) && preg_match('32', $agent)){
$os = 'Windows 32';
}
else if (preg_match('/linux/', $agent)){
$os = 'Linux';
}
else if (preg_match('/unix/', $agent)){
$os = 'Unix';
}
else if (preg_match('/sun/', $agent) && preg_match('os', $agent)){
$os = 'SunOS';
}
else if (preg_match('/ibm/', $agent) && preg_match('os', $agent)){
$os = 'IBM OS/2';
}
else if (preg_match('/Mac/', $agent) && preg_match('PC', $agent)){
$os = 'Macintosh';
}
else if (preg_match('/PowerPC/', $agent)){
$os = 'PowerPC';
}
else if (preg_match('/AIX/', $agent)){
$os = 'AIX';
}
else if (preg_match('/HPUX/', $agent)){
$os = 'HPUX';
}
else if (preg_match('/NetBSD/', $agent)){
$os = 'NetBSD';
}
else if (preg_match('/BSD/', $agent)){
$os = 'BSD';
}
else if (preg_match('/OSF1/', $agent)){
$os = 'OSF1';
}
else if (preg_match('/IRIX/', $agent)){
$os = 'IRIX';
}
else if (preg_match('/FreeBSD/', $agent)){
$os = 'FreeBSD';
}
else if (preg_match('/teleport/', $agent)){
$os = 'teleport';
}
else if (preg_match('/flashget/', $agent)){
$os = 'flashget';
}
else if (preg_match('/webzip/', $agent)){
$os = 'webzip';
}
else if (preg_match('/offline/', $agent)){
$os = 'offline';
}
else {
$os = 'Unknown';
}
return $os;
}
}
$code = new clientGetObj;
echo $str1 = $code->getBrowse()."<br>";//浏览器:
echo $str2 = $code->getIP()."<br>";//IP地址:
echo $str3 = $code->getOS();//操作系统:
?>

以上就是个人整理的关于$_SERVER获取服务器信息的常用信息了,希望大家能够喜欢。

(0)

相关推荐

  • PHP获取浏览器信息类和客户端地理位置的2个方法

    一.获取浏览器信息,获取访客操作系统:windows.mac.linux.unix.bsd.other,以及访客ip地址等信息的PHP类 复制代码 代码如下: <?php  /**  * 获取访客信息的类:语言.浏览器.操作系统.ip.地理位置.isp.  * 使用:  *   $obj = new guest_info;  *   $obj->getlang();     //获取访客语言:简体中文.繁體中文.english.  *   $obj->getbrowser();  //获

  • php禁止浏览器使用缓存页面的方法

    本文实例讲述了php禁止浏览器使用缓存页面的方法.分享给大家供大家参考.具体方法如下: 页面缓存在有的时候是不需要的,我们可以禁止浏览器缓存页面. 在PHP中可以轻松的使用下面的语句实现禁止页面缓存,但比较难记特整理下,方便大家使用. php代码如下: 复制代码 代码如下: <?php // 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可. header ( " Expires: Mon, 26 Jul 1970 05:00:00 GMT " );  //

  • php实现读取手机客户端浏览器的类

    本文实例讲述了php实现读取手机客户端浏览器的类.分享给大家供大家参考.具体分析如下: 这里介绍的手机信息函数类有取手机号码,浏览器报头信息,取得手机类型,取得手机IP等功能. 复制代码 代码如下: <?php /** *   类名:   mobile *   描述:   手机信息类 *   其他:   偶然   编写 */ class   mobile{ /** *   函数名称:   getPhoneNumber *   函数功能:   取手机号 *   输入参数:   none *   函

  • 跨浏览器PHP下载文件名中的中文乱码问题解决方法

    本文实例讲述了跨浏览器PHP下载文件名中的中文乱码问题解决方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "中文 文件名.txt"; $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20",

  • php获取用户浏览器版本的方法

    本文实例讲述了php获取用户浏览器版本的方法.分享给大家供大家参考.具体分析如下: 在php中我们有个全局变量$_SERVER['HTTP_USER_AGENT'];可以获取用户所有信息,我们要经过处理才可以判断用户浏览器是哪种类型的,下面的函数就可以准确的用户浏览器版本号代码. 复制代码 代码如下: function getbrowse() {  $agent = $_server['http_user_agent'];  $browser = '';  $browserver = '';  

  • 使用PHP和JavaScript判断请求是否来自微信内浏览器

    微信浏览器的HTTP_USER_AGENT 在iPhone下,返回 Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2) 在Android下,返回 Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) Ap

  • PHP实现的浏览器检查类

    本文实例讲述了PHP实现的浏览器检查类.分享给大家供大家参考,具体如下: <?php //原作者:epsilon7 //SonyMusic([email]sonymusic@163.net[/email]) class BrowserDetector { var $UA = ""; //$HTTP_USER_AGENT的内容 var $BROWSER= "Unknown"; //浏览器类型 var $PLATFORM = "Unknown"

  • PHP向浏览器输出内容的4个函数总结

    复制代码 代码如下: <!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <body> <?php /*  * 0x01:print()语句  * int print(arguments);  * print()语句把传入它的数据输出到浏览器  

  • PHP检测用户是否关闭浏览器的方法

    本文实例讲述了PHP检测用户是否关闭浏览器的方法.分享给大家供大家参考,具体如下: 1.例子1 echo str_repeat(" ",3000); ignore_user_abort(true); mylog('online'); while (true) { /* * 1.程序正常结束 connection_status 0 * 2.点击浏览器"停止"按钮 connection_status 1 * 3.超时 connection_status 2 */ ech

  • PHP判断浏览器、判断语言代码分享

    PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用. 判断浏览器类型 //判断类型 <?php if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0")) echo "Internet Explorer 8.0"; else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0&qu

  • jquery判断浏览器类型的代码

    Jquery中利用navigator.userAgent.indexOf来判断浏览器类型,并进行了一下处理,建议学习Jquery的朋友学习下,了解一下思路. 主要使用的方法:$.browser.['浏览器关键字'] 复制代码 代码如下: $(function() { if($.browser.msie) { alert("this is msie"); } else if($.browser.safari) { alert("this is safari!"); }

  • 判断浏览器的js代码

    JS 判断浏览器 var browser=navigator.appName var b_version=navigator.appVersion var version=parseFloat(b_version) document.write("Browser name: "+ browser) document.write(" ") document.write("Browser version: "+ version) document.w

  • php使用strtotime和date函数判断日期是否有效代码分享

    咋一想,判断日期是否有效应该是蛮简单的一个功能,但是细想起来还是有点麻烦的,因为既要检验格式,又要检验有效性.例如2013-02-29,虽然格式正确,但是日期无效:而2012-02-29格式正确,也有效. 一种方法可以使用正则,但是正则其实理解起来蛮麻烦的,而且使用正则在检验有效性方面也不太好.这里提供一个方法,主要是使用strtotime和date函数进行检验.直接上函数: 复制代码 代码如下: /** * 校验日期格式是否正确 *  * @param string $date 日期 * @p

  • c#通过进程调用cmd判断登录用户权限代码分享

    复制代码 代码如下: /// <summary>/// 应用程序的主入口点./// </summary>[STAThread]static void Main(){ if (RunCmd("net localgroup administrators").IndexOf(System.Environment.UserName) >= 0)    { //顺利执行.    }    else    {        //报错提示系统不是管理员用户登录,容易导致

  • 用js自动判断浏览器分辨率的代码

    复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- if (window.navigator.userAgent.indexOf("MSIE")>=1) { var IE1024=""; var IE800=""; var IE1152=""; var IEother=""; ScreenWidth(IE1024,IE80

  • 根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码

    既判断分辨率,也判断浏览器 重新完善代码,使之成为判断浏览器类型屏幕分辨率自动调用不同CSS的代码. 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- if (window.navigator.userAgent.indexOf("MSIE")>=1) { var IE1024=""; var IE800=""; var IE1152=""

  • js判断屏幕分辨率的代码

    一般我们可以通过下面的代码判断分辨率 复制代码 代码如下: <script language="JavaScript">  <!-- Begin  function redirectPage() {  var wjb51=screen.width;var hjb51=screen.height;alert("经系统检测,你的屏幕分辨率为 " + wjb51+"*"+ hjb51 + "by 我们jb51.net&quo

  • 使用php判断浏览器的类型和语言的函数代码

    我们经常看到有一些网站上面会显示出你目前使用的浏览器类型和使用的语言,比如显示的是:您使用的浏览器为 IE6,繁体字.看起来是不是很炫. 其实这样的功能不难实现,无非就是判断浏览器的类型和语言,如果用JS来做应该很简单,这里我们看看用PHP来怎么实现这样的功能,既然是在做判断,就可以用PHP的条件语句if..else来判断实现. 判断浏览器类型: <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> 判断浏览器语言: <?php ech

  • jQuery 1.9版本以上的浏览器判断方法代码分享

    废话不多说了,直接给大家贴代码了,具体代码如下所示: var matched, browser; jQuery.uaMatch = function( ua ) { ua = ua.toLowerCase(); var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || /(webkit)[ \/]([\w.]+)/.exec( ua ) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || /(msi

随机推荐