找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 861|回复: 0
打印 上一主题 下一主题

php判断当前操作系统类型

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 05:42:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            如何使用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中修改浏览器的User-Agent来伪装你的浏览器和操作系统
  • PHP获取用户的浏览器与操作系统信息的代码
  • 如何使用php判断所处服务器操作系统的类型
  • php获取操作系统语言代码
  • php 判断服务器操作系统的类型
  • php根据操作系统转换文件名大小写的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端