PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的
原文:
在繁华的都市中,有一个被忽视的小角落,那里隐藏着一个小小的梦想。这个梦想,如同种子般扎根在这片土地上,历经风雨,依然坚韧生长。那是一个关于面包的故事,一个充满热情与坚持的故事。
这里,有一家独特的面包店。店主是一位执着于烘焙的年轻人,他热爱面包,就像热爱自己的生命。每天,他早早地起床,精心挑选食材,细心烘焙,用心制作每一款面包。他的面包,外皮酥脆,内部柔软,散发着诱人的香气。每一个品尝过的顾客,都会为他的面包点赞。
这个面包店并不被人们所熟知。它隐藏在这个繁华都市的小角落,缺乏人们的关注。店主并没有放弃,他坚信自己的热情与坚持会打动每一个人。他通过社交媒体分享自己的烘焙心得,向朋友们展示面包的制作过程。每当看到人们因为他的面包而感动,他的内心就充满了满足感。
渐渐地,他的面包店开始被人们所关注。越来越多的人走进这家面包店,品尝他的面包。每当听到顾客们的赞美声,他的内心都充满了喜悦。他知道,自己的坚持与热情没有白费。
如今,这家面包店已经成为这个都市的一道风景线。每一个经过这里的人,都会被它的香气所吸引,愿意停下脚步,感受这里的温暖与美好。这是一个关于梦想的故事,一个关于坚持的故事。在这里,一个小小的面包店,用热情和坚持,温暖了这座都市。
在喧嚣的都市中,有一个被遗忘的角落藏着一段关于面包的传奇故事。这里有一个梦想之种扎根的土壤——一家独特的面包店。店主是一位烘焙的热血青年,他对面包的热爱如同火焰般炽热。每天黎明破晓时分的喧嚣尚未醒来,他却已经开始了每日的烘焙之旅。每一个精心挑选的食材背后都有他的执着与汗水;每一次精心烘焙的面包都满载他对完美的追求和对梦想的坚定。这些面包如艺术品般完美呈现——外皮酥脆如金、内部柔软如绵、香气四溢如春日的微风拂过麦田的清新芬芳。每个尝过的人都被深深打动、赞不绝口。
尽管鲜为人知是他的日常写照,但他的故事并没有完结。他用社交媒介向世界传递他对烘焙的热情与执着;他用镜头记录下每一个关于面包的动人瞬间;他用文字述说每一份烘焙背后的故事与情感;每一次的分享与互动都是他对梦想的坚守与证明。人们的感动与支持让他心中的热情之火燃烧得更加旺盛;每当看到人们因为他制作的面包而喜悦的笑容时,他明白他的坚持并非徒劳无功。
时常在一些场景中,我们需要判断用户的访问是否来自手机,然后进行自动跳转操作。今天,我将分享一段关于判断是否为手机移动终端的PHP函数,这是从一个PHP框架中分离出来的实用代码。
在某些场合,这段代码可能会非常实用,值得我们留存备用。以下是具体的函数实现:
```php
function is_mobile_request() {
// 获取HTTP头部信息中的用户代理字符串,并进行一系列检查以判断是否为移动设备请求
$_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : '';
$mobile_browser = 0;
// 使用正则表达式匹配常见的移动设备用户代理字符串前缀
if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i', strtolower($_SERVER['HTTP_USER_AGENT'])) {
$mobile_browser++;
}
// 检查HTTP头部信息中的Accept字段是否包含特定的MIME类型,表示移动设备请求的可能性增加
if (isset($_SERVER['HTTP_ACCEPT']) && strpos(strtolower($_SERVER['HTTP_ACCEPT']), 'application/vnd.wap.xhtml+xml') !== false) {
$mobile_browser++;
}
// 检查其他可能的移动设备相关头部信息字段是否存在,增加判断为移动设备的可能性
if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
$mobile_browser++;
}
if (isset($_SERVER['HTTP_PROFILE'])) {
$mobile_browser++;
}
// 构建一个包含常见移动设备用户代理字符串开头的数组,用于进一步判断是否为移动设备请求
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb', etc. //省略部分移动设备的关键词以确保文本长度符合用户需求)); 此数组是大量的移动设备的特征识别字符串集合。如果请求的用户代理字符串开头匹配这些字符串之一,则增加移动设备的可能性。如果匹配成功,则增加移动设备的可能性。我们可以进一步判断是否为移动设备请求。我们还需要进行一些额外的检查来排除某些特殊情况,例如用户使用的是Windows操作系统或Windows Phone等。如果最终判断为移动设备请求的可能性大于零,则返回true;否则返回false。这个函数非常实用,可以帮助我们根据用户代理字符串来判断用户的访问是否来自手机设备。我们还有一个类似的PHP函数可以用来判断用户的浏览器类型。但是这段代码仅为参考使用。其真实性并未经过验证和测试。在使用前请确保进行充分的测试以保证准确性。关于这部分代码的更多细节,你可以查阅相关资源以获取更详细的信息。这些函数为我们提供了方便的方式来判断用户的访问设备和浏览器类型,有助于我们为用户提供更好的体验和服务。希望这些代码对你有所帮助!文章来源:
平面设计师
- PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的
- 全面了解ASP注入方法 [收集总结]
- jQuery模拟12306城市选择框功能简单实现方法示例
- php利用反射实现插件机制的方法
- 微信小程序实现顶部选项卡(swiper)
- 微信小程序如何使用canvas二维码保存至手机相册
- Docker 安装 PHP并与Nginx的部署实例讲解
- PHP设计模式之抽象工厂模式实例分析
- jQuery实现轮播图及其原理详解
- 用JSP生成静态页面
- asp.net实现批量删除实例
- jQuery实现模拟flash头像裁切上传功能示例
- JQuery特殊效果和链式调用操作示例
- 详解express + mock让前后台并行开发
- js实现可折叠展开的手风琴菜单效果
- jQuery 3.0十大新特性