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 xfocus防注入资料
Apr 27 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
php错误级别的设置方法
Jun 17 PHP
php数据类型判断函数有哪些
Sep 23 PHP
php使用strtotime和date函数判断日期是否有效代码分享
Dec 25 PHP
PHP中的日期加减方法示例
Aug 21 PHP
ThinkPHP中RBAC类的四种用法分析
Nov 24 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
解决Laravel 不能创建 migration 的问题
Oct 09 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
Oct 15 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
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
ext jquery 简单比较
2010/04/07 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
SVG实现时钟效果
2018/07/17 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
python避免死锁方法实例分析
2015/06/04 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
运动会宣传口号
2014/06/09 职场文书
初中优秀学生评语
2014/12/29 职场文书
新兵入伍决心书
2015/09/22 职场文书
Python进行区间取值案例讲解
2021/08/02 Python
Python如何用re模块实现简易tokenizer
2022/05/02 Python