php判断当前操作系统类型


Posted in PHP onOctober 28, 2015

如何使用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 相关文章推荐
php不用正则采集速度探究总结
Mar 24 PHP
php5 图片验证码实现代码
Dec 11 PHP
php与paypal整合方法
Nov 28 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
php cli换行示例
Apr 22 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
php表单习惯用的正则表达式
Oct 11 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 PHP
详解PHP序列化反序列化的方法
Oct 27 #PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 #PHP
php常量详细解析
Oct 27 #PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 #PHP
PHP的APC模块实现上传进度条
Oct 27 #PHP
php+ajax制作无刷新留言板
Oct 27 #PHP
一个完整的php文件上传类实例讲解
Oct 27 #PHP
You might like
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
Three.js基础部分学习
2017/01/08 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
python单元测试unittest实例详解
2015/05/11 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
超级实用的8个Python列表技巧
2020/08/24 Python
python中实现词云图的示例
2020/12/19 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
开放系统互连参考模型
2016/06/29 面试题
公司周年庆典邀请函
2014/01/12 职场文书
家长给老师的道歉信
2014/01/13 职场文书
小学教师管理制度
2014/01/18 职场文书
2015年社区民政工作总结
2015/04/21 职场文书