php判断当前操作系统类型

 更新时间:2015年10月28日 14:16:44   投稿:lijiao   我要评论
这篇文章主要介绍了php判断当前操作系统类型,分为两种情况一种是服务器端,一种是客户端,感兴趣的小伙伴们可以参考一下

如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。
(1)php获取服务器端的操作系统类型
这个时候可以使用php系统自带的常量 PHP_OS 或者系统函数php_uname('s')关于这两者返回的值可能的情况基本有如下几种情况:

  • CYGWIN_NT-5.1
  • Darwin
  • FreeBSD
  • HP-UX
  • IRIX64
  • Linux
  • NetBSD
  • OpenBSD
  • SunOS
  • Unix
  • WIN32
  • WINNT
  • Windows
  • CYGWIN_NT-5.1
  • IRIX64
  • SunOS
  • HP-UX
  • OpenBSD

不过根据具体情况读者还是自行打印出来结果看看最好,也许获得的结果不在上述之列。
(2)php获取客户端的操作系统类型,这里分享一个函数,比网上流传的那些判断更加精准,而且没有bug,函数代码如下:

function getOS(){ 
 $os=''; 
 $Agent=$_SERVER['HTTP_USER_AGENT']; 
 if (eregi('win',$Agent)&&strpos($Agent, '95')){ 
  $os='Windows 95'; 
 }elseif(eregi('win 9x',$Agent)&&strpos($Agent, '4.90')){ 
  $os='Windows ME'; 
 }elseif(eregi('win',$Agent)&&ereg('98',$Agent)){ 
  $os='Windows 98'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 5.0',$Agent)){ 
  $os='Windows 2000'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 6.0',$Agent)){ 
  $os='Windows Vista'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 6.1',$Agent)){ 
  $os='Windows 7'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 5.1',$Agent)){ 
  $os='Windows XP'; 
 }elseif(eregi('win',$Agent)&&eregi('nt',$Agent)){ 
  $os='Windows NT'; 
 }elseif(eregi('win',$Agent)&&ereg('32',$Agent)){ 
  $os='Windows 32'; 
 }elseif(eregi('linux',$Agent)){ 
  $os='Linux'; 
 }elseif(eregi('unix',$Agent)){ 
  $os='Unix'; 
 }else if(eregi('sun',$Agent)&&eregi('os',$Agent)){ 
  $os='SunOS'; 
 }elseif(eregi('ibm',$Agent)&&eregi('os',$Agent)){ 
  $os='IBM OS/2'; 
 }elseif(eregi('Mac',$Agent)&&eregi('PC',$Agent)){ 
  $os='Macintosh'; 
 }elseif(eregi('PowerPC',$Agent)){ 
  $os='PowerPC'; 
 }elseif(eregi('AIX',$Agent)){ 
  $os='AIX'; 
 }elseif(eregi('HPUX',$Agent)){ 
  $os='HPUX'; 
 }elseif(eregi('NetBSD',$Agent)){ 
  $os='NetBSD'; 
 }elseif(eregi('BSD',$Agent)){ 
  $os='BSD'; 
 }elseif(ereg('OSF1',$Agent)){ 
  $os='OSF1'; 
 }elseif(ereg('IRIX',$Agent)){ 
  $os='IRIX'; 
 }elseif(eregi('FreeBSD',$Agent)){ 
  $os='FreeBSD'; 
 }elseif($os==''){ 
  $os='Unknown'; 
 } 
 return $os; 
} 

根据服务器端还是客户端来决定采取的办法,希望通过这篇文章大家知道如何使用php获取当前操作系统类型。

相关文章

  • php curl 伪造IP来源的实例代码

    php curl 伪造IP来源的实例代码

    php curl 太强大了,它不但可以模仿用户登录,还可以模仿用户IP地址哦,为伪造IP来源,本实例仅供参考哦
    2012-11-11
  • php校验公钥是否可用的实例方法

    php校验公钥是否可用的实例方法

    在本文里小编给大家整理的是一篇关于php校验公钥是否可用的知识点内容,需要的朋友们参考下。
    2019-09-09
  • php 从金沙国际官网提取二进制图片的处理代码

    php 从金沙国际官网提取二进制图片的处理代码

    形式上类似UCH 只是存储方式不一样 本人比较愚钝 这个问题困惑了我半天 希望对有同样问题的phper有所帮助 高手们别见笑!
    2009-09-09
  • PHP STRING 陷阱原理说明

    PHP STRING 陷阱原理说明

    需要注意的时候,我们访问数组的时候 都是使用方括号“[]”,string作为一个也可以使用操作符“[]”进行访问。但是,需要注意的一点就是,访问字符串时候,操作符“[]”中的内容会被转化为int类型的。
    2010-07-07
  • 如何用php生成扭曲及旋转的验证码图片

    如何用php生成扭曲及旋转的验证码图片

    本篇文章是对利用php生成扭曲及旋转的验证码图片进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP实现的oracle分页函数实例

    PHP实现的oracle分页函数实例

    这篇文章主要介绍了PHP实现的oracle分页函数,结合实例形式分析了PHP针对oracle金沙国际官网使用rownum代替MySQL中limit实现的分页操作相关技巧,需要的朋友可以参考下
    2016-01-01
  • mod_php、FastCGI、PHP-FPM等PHP运行方式对比

    mod_php、FastCGI、PHP-FPM等PHP运行方式对比

    这篇文章主要介绍了mod_php、FastCGI、PHP-FPM等PHP运行方式对比,本文讲解了什么是PHP处理器(PHP handlers)、mod_php的优缺点、FastCGI的优缺点、PHP-FPM(FastCGI Process Manager)的优缺点等内容,需要的朋友可以参考下
    2015-07-07
  • PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析

    PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析

    这篇文章主要介绍了PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法,结合具体实例形式分析了蛇形矩阵,回环矩阵及数字螺旋矩阵的概念、表示方法及php实现技巧,需要的朋友可以参考下
    2017-05-05
  • PHP排序算法类实例

    PHP排序算法类实例

    这篇文章主要介绍了PHP排序算法类,实例分析了插入排序、选择排序、冒泡排序、快速排序等排序算法的原理与实现技巧,需要的朋友可以参考下
    2015-06-06
  • PHP如何防止XSS攻击与XSS攻击原理的讲解

    PHP如何防止XSS攻击与XSS攻击原理的讲解

    今天小编就为大家分享一篇关于PHP如何防止XSS攻击与XSS攻击原理的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论