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 相关文章推荐
综合图片计数器
Oct 09 PHP
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
drupal 代码实现URL重写
May 04 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
php实现的任意进制互转类分享
Jul 07 PHP
ThinkPHP模型详解
Jul 27 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
PHP仿微信发红包领红包效果
Oct 30 PHP
apache集成php7.3.5的详细步骤
Jun 20 PHP
php快速导入大量数据的实例方法
Sep 23 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程序员不应该忽略的3点
2015/10/09 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
详解Python3.1版本带来的核心变化
2015/04/07 Python
简单的Python的curses库使用教程
2015/04/11 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
对公司的意见和建议
2015/06/04 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
python manim实现排序算法动画示例
2022/08/14 Python