php判断是否为手机浏览器_donet_expert的博客-程序员宅基地

技术标签: php  

<?php

function  is_mobile(){

    // returns true if one of the specified mobile browsers is detected
    // 如果监测到是指定的浏览器之一则返回true
      
      $regex_match=" /(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
      
     $regex_match.=" htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
      
      $regex_match.=" blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";
      
      $regex_match.=" symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";    
      
      $regex_match.=" jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
      
      $regex_match.=" )/i";
      
    // preg_match()方法功能为匹配字符,既第二个参数所含字符是否包含第一个参数所含字符,包含则返回1既true
       return  preg_match($regex_match, strtolower($_SERVER[' HTTP_USER_AGENT']));
}


if ( is_mobile() ) {

    // 如果是手机浏览器,则自动调转到wap页面
      header(' Location: http://xxx.com');
}
?>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/donet_expert/article/details/44343071

智能推荐

Python ftp 上传和下载_百武的博客-程序员宅基地

使用python的ftplib库,进行文件的上传和下载

elasticsearch 报错Types cannot be provided in put mapping requests, unless the include_type_name param_gxgalaxy的博客-程序员宅基地

使用postman向es库中添加数据,出现以下错误,解决办法:在url中添加?include_type_name=true

蹭热搜账号将受处罚?揭秘表层网络环境背后的危机_磐石云计算的博客-程序员宅基地

5月27日,新浪“微博热搜榜”官方账号发布《关于蹭热搜行为处置公告》,公告内容显示,近期,站方发现有个别用户恶意利用产品机制蹭热搜,此行为严重影响到了热点的呈现效果和用户体验。因此,微博参考网友举报反馈,同时通过热点生态反作弊体系对热搜数据进行排查,并依照《微博社区公约》与《微博投诉操作细则》的相关规定,对一批蹭热搜账号采取搜索不收录、禁言等处罚措施。那么什么是蹭热搜?顾名思义就是在一个人或一件事火的时候,故意蹭上去,以达到收获一波流量,或者间接让自己走红的目的。有些不良营销号为了获取热度,..

Reinforcement Learning——MDP_Andromeda_J的博客-程序员宅基地

MDP 几乎所有的增强学习的问题都可以通过一些方式形式化为Markov Decision Process.

c类似的编程语言,类似于Ruby语法的编程语言_编程语言_C代码_程序性能_涌馨的博客-程序员宅基地

Crystal是一个开源的、类似于Ruby语法的编程语言,支持静态类型检查,可在Crystal内通过代码绑定调用C代码等等。有开发者称其真的酷毙了。Crystal是一个开源的、类似于Ruby语法的编程语言,其特性如下:类似于Ruby的语法;支持静态类型检查,但无需指定变量类型或方法参数;可在Crystal内通过代码绑定调用C代码;在编译时进行代码评估和生成,避免了公式化的代码;编译后的代码是高效的...

可能解决高昂gas费的方法_chinadefi的博客-程序员宅基地

可能解决高昂gas费的方法开放金融运动支持重塑整个金融系统,发展一个无国界的生态系统。它旨在帮助每个用户获得更好的金融服务和产品。但是如果入门成本(以gas费的形式)太贵,那么我们可能会限制数百万想要进入DeFi空间的用户。目前,以太坊是加密领域最好的结算层,在有效满足用户需求方面承担着更大的责任。然而,它仍然面临着网络拥塞和区块空间低等问题。以太坊每秒只能处理15-45个交易,无法提供可扩展的解决方案。这些问题不仅限制了以太坊的功能,还在生态系统中制造了摩擦。随着生态系统添加越来越多的应用程

随便推点

Oracle排序中NULL值处理的五种常用方法_YGL一米阳光的博客-程序员宅基地_oracle 排序null值

1、缺省处理Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前2、使用nvl函数nvl函数可以将输入参数为空时转换为一特定值,如nvl(employee_name,’张三’)表示当employee_name为空时则返回’张三’,如果不为空则返回employee_name通过这个函数可以定制null的排序位置。3、使用decode函数decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特

游戏服务器浅析_qq_33974741的博客-程序员宅基地

(一)平台选择windows还是linux?1、平台费用:如果是大型公司,用windows server就要向微软交点保护费,还有接踵而来的各种软件收费,受不了,如果是小型公司。。。你懂的,所以很多大型公司都选择了linux开发服务器,但不一定就说linux的好。2、开发环境搭建:windows有现成的VS开发环境,安装一下,一般不会出错,而且像VS助手这样的插件还有联合编译器都很容易...

时间选择器组件之关于table走过的弯路_腾讯位置服务的博客-程序员宅基地

为了提高开发者的研发效率,提升产品品质,我们提供一套基于饿了么UI实现的UI组件库,TMAP-UI—旨在解决的组件地图场景下应用的问题。最近在新增TMAP-UI组件库的开发过程中,时间选择器是开发者反馈需求较多的一个组件,今天把在开发过程中遇到的一些问题分析给大家。element-ui有原生的时间选择器,但是,在我们的交互设计师是根据地图实际应用场景中的特性抽象组件,element-ui的样式以及交互操作都无法满足设计需求,需要基于源码进行二次开发,最小成本实现这个通用组件。今天主要聊下开发中遇到的一.

不用一行代码,就写了个爬虫!这款谷歌插件已经打包好了!_菜鸟学Python的博客-程序员宅基地

前言前几天发现了一个比较有用的谷歌插件,大家看标题也许已经知道它有啥用了。下面给大家介绍一下这款插件的用法,文末也提供了下载链接。使用首先简单介绍一下是个啥插件:如图所示确保安装成功插件...

Map的特点_码农翻身当老板的博客-程序员宅基地_map有什么特点

. Map特点:无序、以键值对的形式添加元素,键不能重复,值可以重复,如果键相同,值会覆盖它没有继承Collection接口`关系图在这里插入图片描述HashMap是基于hashing原理,使用put(key,value)存储对象到HashMap中,使用get(key)从HashMap中获取对象,当我们给put方法传递键和值时,我们先对键调用hashCode()方法,返回的hashCode用于找到bucket位置来存储键对象和值对象,作为Map.Entrymap集合的嵌套用法(多层嵌套)Map&

使用rust编译linux,在 Ubuntu 上为 CentOS 编译 Rust 程序,_媛源啊的博客-程序员宅基地

在 Ubuntu 上为 CentOS 编译 Rust 程序,现在 CentOS 8 还没出来,最新的是 CentOS 7.6,上面搭载的 glibc 版本是 2.17,都已经是 2012 年那时候的版本了。现在开发者比较常用的桌面 Linux 系统,比如 Ubuntu / Debian / Mint / Arch / Manjaro 等,都是比较新的 glibc 版本了,比如 Ubuntu 18....

推荐文章

热门文章

相关标签