文档章节

PHP判断是否为手机访问

江上轻烟
 江上轻烟
发布于 2015/08/29 10:02
字数 213
阅读 86
收藏 9
PHP

        有时候我们需要判断访问是来自手机端还是PC端,PHP可以很方便的进行判断。

        $_SERVER['HTTP_USER_AGENT']中含有访问的头信息(header),根据它我们可以做出判断 。

        function isMobile()

        {  

        $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  

        $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';    

        function CheckSubstrs($substrs,$text)

        {  

        foreach($substrs as $substr)  

        if(false!==strpos($text,$substr)){  

        return true;  

        }  

        return false;  

        }

        $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;  

        }  

        }

        这个方法稍加改造也可以判断是否用某种浏览器打开。

        原文链接:http://back.zhizhi123.com/?p=124

本文转载自:http://back.zhizhi123.com/?p=124

共有 人打赏支持
江上轻烟

江上轻烟

粉丝 1
博文 13
码字总数 442
作品 0
海淀
程序员
私信 提问
PHP CodeBase: 判断用户是否手机访问

随着移动设备的普及,网站也会迎来越来越多移动设备的访问。用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机...

ywppengpeng
2016/11/22
6
0
通过User Agent判断微信内置浏览器

原标题:如何判断微信内置浏览器 备注:基于网络上内容所有修改 在进行微信公众账号开发的时候,其中很大一块是微站点的开发,有时候我们需要知道当前的浏览器是微信内置的浏览器,从而做一些...

lixiaokai2008
2014/03/04
0
2
PHP判断是手机还是微信还是PC访问

开发活动的时候,有些需求是要求PC和移动分开的,也就是不是做响应式的,但是呢,有些同事前端技术不怎么行,就被迫转移到后端来做一些判断浏览器了,现在就在这里贴出PHP校验是否是手机端、...

冷三叔
2018/04/23
0
0
如何判断是手机还是电脑在访问网站

如何判断是手机还是电脑在访问网站? 网上现在有三种观点, 一种是基于浏览器发送的 User-Agent, 但明显这种方法是行不通的, 虽然有人列出了大多数的手机发送的User-Agent, 但依然会有很多手机...

Sobey
2013/10/11
0
3
PHP cURL工具的简单介绍

cURL通常是指使用URL语法进行数据传递的命令行工具和库,本文所介绍的是其PHP拓展最基本的使用。 cURL主要用来进行数据抓取,当然,还有更多强大的功能,一些复杂的操作,例如处理Cookie、表...

madbooker
2014/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

容器服务

简介 容器服务提供高性能可伸缩的容器应用管理服务,支持用 Docker 和 Kubernetes 进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。 产品架构 容器服务...

狼王黄师傅
昨天
3
0
高性能应用缓存设计方案

为什么 不管是刻意或者偶尔看其他大神或者大师在讨论高性能架构时,自己都是认真的去看缓存是怎么用呢?认认真真的看完发现缓存这一块他们说的都是一个WebApp或者服务的缓存结构或者缓存实现...

呼呼南风
昨天
12
0
寻找一种易于理解的一致性算法(扩展版)

摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可...

Tiny熊
昨天
3
0
聊聊GarbageCollectionNotificationInfo

序 本文主要研究一下GarbageCollectionNotificationInfo CompositeData java.management/javax/management/openmbean/CompositeData.java public interface CompositeData { public Co......

go4it
昨天
3
0
阿里云ECS的1M带宽理解

本文就给大家科普下阿里云ECS的固定1M带宽的含义。 “下行带宽”和“上行带宽” 为了更好的理解,需要先给大家解释个词“下行带宽”和“上行带宽”: 下行带宽:粗略的解释就是下载数据的最大...

echojson
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部