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 相关文章推荐
c#中的实现php中的preg_replace
Dec 21 PHP
PHP Socket 编程
Apr 09 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
设定php简写功能的方法
Nov 28 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
读jQuery之三(构建选择器)
2011/06/11 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
Django中的AutoField字段使用
2020/05/18 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
自我评价怎么写好呢?
2013/12/05 职场文书
法制宣传教育方案
2014/05/09 职场文书
小学开学标语
2014/07/01 职场文书
2014年导购员工作总结
2014/11/18 职场文书
2014年行政工作总结
2014/11/19 职场文书
检讨书范文2000字
2015/01/28 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
Java常用函数式接口总结
2021/06/29 Java/Android
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS