【小白专用】PHP识别是电脑或手机访问网站

现在通过手机访问网站越来越流行了,如果我们希望统计一下网站通过pc,手机移动端的各自访问量的情况,或者需要为手机移动端做一些特别的处理的话,那么我们就需要对访问网站的用户的客户端做一下鉴别了,下面这个实例就是通过php识别用户是电脑还是手机访问网站的方法。

<?php
function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';$useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';$mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');$mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');$found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock)||CheckSubstrs($mobile_token_list,$useragent);if($found_mobile){ return true;}else{ return false;}
}
function CheckSubstrs($substrs,$text){ foreach($substrs as $substr){if(false!==strpos($text,$substr)){ return true;} return false;}
}
if(isMobile()){echo '手机登录 m.phpernote.com';
}else{echo '电脑登录 www.phpernote.com';
}

<?phpfunction isWeixin() {if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {return true;} else {return false;}}if(isWeixin()){echo '微信浏览';
}else{echo '电脑浏览';
}

<?php$userAgent = $_SERVER['HTTP_USER_AGENT']; // 获取User-Agent信息// Windows操作系统相关标志
if (strpos($userAgent, 'Windows') !== false) {echo "这是Windows操作系统";
} else if (strpos($userAgent, 'Macintosh') !== false || strpos($userAgent, 'iPhone') !== false || strpos($userAgent, 'iPad') !== false) {echo "这是Mac或iOS设备";
} else if (strpos($userAgent, 'Linux') !== false) {echo "这是Linux操作系统";
} else if (strpos($userAgent, 'Android') !== false) {echo "这是安卓手机";
} else {echo "无法确定操作系统类型";
}

function getOS(){$agent = strtolower($_SERVER['HTTP_USER_AGENT']);if(strpos($agent, 'windows nt')) {$platform = 'windows';} elseif(strpos($agent, 'macintosh')) {$platform = 'mac';} elseif(strpos($agent, 'ipod')) {$platform = 'ipod';} elseif(strpos($agent, 'ipad')) {$platform = 'ipad';} elseif(strpos($agent, 'iphone')) {$platform = 'iphone';} elseif (strpos($agent, 'android')) {$platform = 'android';} elseif(strpos($agent, 'unix')) {$platform = 'unix';} elseif(strpos($agent, 'linux')) {$platform = 'linux';} else {$platform = 'other';}return $platform;
}
echo getOS();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323119.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache网页优化

本章主要介绍如何对Apache网页进行优化 Apache 网页压缩Apache 网页缓存Apache 隐藏版本信息Apache 网页防盗链 目录 1、网页压缩与缓存 1.1、网页压缩 &#xff08;1&#xff09;gzip介绍 &#xff08;2&#xff09;HTTP压缩的过程 &#xff08;3&#xff09;Apache的…

记一次:职业规划与心灵成长

前言&#xff1a;csdn组织了2023年的年度征文&#xff0c;为了响应号召&#xff08;嘘~其实为了那个铭牌&#xff09;&#xff0c;加上这么多年了也该总结一下了&#xff0c;就写了这么一篇&#xff08;公司正好让写年终总结&#xff0c;巧了么这不是&#xff09; 一、感谢部分…

机器学习:手撕 AlphaGo(二)

计算机下围棋的问题描述请见上篇&#xff1a;机器学习&#xff1a;手撕 AlphaGo&#xff08;一&#xff09;-CSDN博客 3. MCTS 算法介绍 MCTS&#xff08;Monte Carlo Tree Search&#xff09; 算法的中文名称叫做蒙特卡洛树搜 索。第一次接触这个算法时&#xff0c;便惊叹于它…

解决:ModuleNotFoundError: No module named ‘zhon’

解决&#xff1a;ModuleNotFoundError: No module named ‘zhon’ 文章目录 解决&#xff1a;ModuleNotFoundError: No module named zhon背景报错问题报错翻译报错位置代码报错原因解决方法方法一&#xff0c;直接安装方法二&#xff0c;手动下载安装方法三&#xff0c;编译安…

知识图谱 vs GPT

简介&#xff1a; 当我们谈论知识图谱时&#xff0c;我们指的是一种结构化的知识表示形式&#xff0c;是一种描述真实世界中事物及其关系的语义模型&#xff0c;用于描述实体之间的关系。它通过将知识组织成图形结构&#xff0c;提供了一种更全面、准确和智能的信息处理方式。知…

使用Go语言的HTTP客户端进行并发请求

Go语言是一种高性能、简洁的编程语言&#xff0c;它非常适合用于构建并发密集型的网络应用。在Go中&#xff0c;标准库提供了强大的HTTP客户端和服务器功能&#xff0c;使得并发HTTP请求变得简单而高效。 首先&#xff0c;让我们了解为什么需要并发HTTP请求。在许多应用场景中…

私有化部署你的甘特图协作工具

安装 首先去官网 https://zz-plan.com/deploy 下载对应的版本 arm是对应m1 m2 m3的mac amd是老的intel处理器 准备工作 安装mysql zz-plan需要依赖mysql 生成token 解压下载的压缩包 创建token./zz-plan -c 复制创建的token去获取授权码&#xff0c;点击获取免费授权码 …

安全测试之SSRF请求伪造

前言 SSRF漏洞是一种在未能获取服务器权限时&#xff0c;利用服务器漏洞&#xff0c;由攻击者构造请求&#xff0c;服务器端发起请求的安全漏洞&#xff0c;攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。 很多Web应用都提供了从其他的服务器上…

限制选中指定个数CheckBox控件(1/2)

限制选中指定个数CheckBox控件&#xff08;1/2&#xff09; 实例需求&#xff1a;工作表中有8个CheckBox控件&#xff08;下文中简称为控件&#xff09;&#xff0c;现在需要实现限制用户最多只能勾选4个控件。 Dim OnDic As Object Sub CheckboxeEvent()Dim oCB As CheckBox…

微信小程序+前后端开发学习材料

目录结构 全局文件 1.app.json 文件 用来对微信小程序进行全局配置&#xff0c;决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。文件内容为一个 JSON 对象。 1.1 page用于指定小程序由哪些页面组成&#xff0c;每一项都对应一个页面的 路径&#xff08;含文…

B端产品经理学习-对用户进行需求挖掘

目录&#xff1a; 用户需求挖掘的方法 举例&#xff1a;汽车销售系统的用户访谈-前期准备 用户调研提纲 预约用户做访谈 用户访谈注意点 我们对于干系人做完调研之后需要对用户进行调研&#xff1b;在C端产品常见的用户调研方式外&#xff0c;对B端产品仍然适用的 用户需…

5600U PVE安装WIN10后直通核显

修改PVE系统配置 请先安装相同版本的PVE系统&#xff0c;其他版本如果存在问题请自行查找。 安装过程比较简单&#xff0c;具体方法请自行百度 1. 修改grub启动参数&#xff1a; 修改文件 /etc/default/grub 中 GRUB_CMDLINE_LINUX_DEFAULT 配置&#xff1a; GRUB_CMDLINE_LI…