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 IP及IP段进行访问限制的代码
Dec 17 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
完善CodeIgniter在IDE中代码提示功能的方法
Jul 19 PHP
PHP自带函数给数字或字符串自动补齐位数
Jul 29 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
PHP小白必须要知道的php基础知识(超实用)
Oct 10 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
Laravel等框架模型关联的可用性浅析
Dec 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
浅析return false的正确使用
2013/11/04 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
浅谈MySQL中的触发器
2015/05/05 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
小学标准化建设汇报材料
2014/08/16 职场文书
公司开业主持词
2015/07/02 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
正确使用MySQL update语句
2021/05/26 MySQL
HTML中的表格元素介绍
2022/02/28 HTML / CSS