PHP识别电脑还是手机访问网站

简介:

最近,客户要求网站要判断是手机访问还是电脑访问,然后显示不同的信息,所以就在网上找了,这个,不是原创,重在分享。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
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;
     }
}
if  (isMobile())
     echo  '手机登录m.php100.com' ;
else
     echo  '电脑登录www.php100.com' ;
?>



      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1349640,如需转载请自行联系原作者




相关文章
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
382 0
|
11月前
|
JavaScript 前端开发 Java
基于springboot的手机销售网站
本研究聚焦手机商城系统的发展现状与趋势,探讨其技术架构、用户行为分析及安全支付等问题,结合Java、Vue、MySQL等技术实现高效、安全的移动端电商平台,推动行业创新与融合发展。
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
395 2
|
存储 移动开发 Android开发
使用kotlin Jetpack Compose框架开发安卓app, webview中h5如何访问手机存储上传文件
在Kotlin和Jetpack Compose中,集成WebView以支持HTML5页面访问手机存储及上传音频文件涉及关键步骤:1) 添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,考虑Android 11的分区存储;2) 配置WebView允许JavaScript和文件访问,启用`javaScriptEnabled`、`allowFileAccess`等设置;3) HTML5页面使用`<input type="file">`让用户选择文件,利用File API;
Discuz 手机版访问自动跳转到手机域名
Discuz 手机版访问自动跳转到手机域名
1466 1
|
JavaScript
vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)
vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)
878 0
|
Web App开发
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
|
JavaScript
技术心得:根据不同访问设备跳转到PC页面或手机页面
技术心得:根据不同访问设备跳转到PC页面或手机页面
434 0
|
安全 前端开发 测试技术
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
299 0

热门文章

最新文章