thinkphp 检测访问来源是来自手机还是PC

/**
* 判断访问是不是来自手机
* @param
* @author Julian
*/
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;
}
}

thinkphp 检测访问来源是来自手机还是PC

时间: 2024-08-25 06:47:48

thinkphp 检测访问来源是来自手机还是PC的相关文章

c# 判断访问来源是否来自手机

public Boolean IsMobileDevice() { string[] mobileAgents =new []{ "iphone", "android", "phone", "mobile", "wap", "netfront", "java", "opera mobi", "opera mini", "

php或js判断网站访问者来自手机或者pc机

php或js判断网站访问者来自手机或者pc机 针对不同平台选择不同的网站版本,最终总结如下: 一.JS版代码: <!--切换手机版网站---> <script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script> <script type="text/javascript&

php或js判断网站访问者来自手机或者pc端源码

很多时候也可以通过逻辑程序来进行判断,如PHP.JS是常用的两种识别访问设备类型的常用方法. 原理都是采用识别访问客户端的HTTP_USER_AGENT,然后进行关键字匹配进行确定设备类型,对于伪造HTTP头的就区分不出来了. 区分设备类型然后要做的就是能够针对不同设置显示出易于阅读的网页,具体可以研究响应式布局技术. 本文主要介绍如何通过php或js来识别终端类型. <?php class IsMobile { public static function isMobile() { $user

python判断网站来自手机还是pc浏览器

#判断网站来自mobile还是pc def checkMobile(request):     """     demo :         @app.route('/m')         def is_from_mobile():             if checkMobile(request):                 return 'mobile'             else:                 return 'pc'     :pa

ELK 通过地理位置显示访问来源

Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统.它构建于Apache Lucene搜索引擎库之上. Logstash是一个用来搜集.分析.过滤日志的工具.它支持几乎任何类型的日志,包括系统日志.错误日志和自定义应用程序日志.它可以从许多来源接收日志,这些来源包括 syslog.消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件.websockets

php判断页面来自手机或者微信 $_SERVER[&#39;HTTP_USER_AGENT&#39;]

function is_phone(){ $agent = strtolower($_SERVER['HTTP_USER_AGENT']); //pc请求头信息数组 $pc_arr=array('windows nt','macintosh','ipad','baiduspider','spider'); //如确认为移动端则更改默认值 //没找到pc数组元素时判断为移动端 foreach($pc_arr as $k => $v){ $pc=strpos($agent, $v) ? true :

DZ3.2手机端访问bug彻底解决方法:您访问的页面无手机页面,是否进一步访问电脑版

手机访问dz3.2出现这种情况是部分页面有手机版也会出现这个提示: 提示您访问的页面无手机页面,是否进一步访问电脑版? 使用手机访问的时候,会出现这样的提示 您访问的页面无手机页面,是否进一步访问电脑版? 目前网上提供的解决方案都没有找到问题的根本原因,只是提供了强制刷新的方法,根据本人的调试最终找到了此bug的问题所在,只需要修改 source/function/function_core.php 找到 source/function/function_core.php第618行: 把 $mo

解决微信浏览器访问手机页面:您访问的页面无手机页面,是否进一步访问电脑版?

dz论坛总是报502没办法了,发到这里备份. 这个问题困扰楼主很长时间了,具体原因因为不懂php没去研究源码,所以只能用js解决了.也就是大家常见的通过修改source\language\lang_message.php里的not_in_mobile强制刷新页面,具体修改方法是将提示信息改成 '<meta http-equiv="refresh" content="5" />' 但是这个问题在微信浏览器下是不完全好使的,在朋友圈分享以后这个标签是不自动刷

拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))

wcf访问windows组件错误 拒绝访问. (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 可以试试这个方法: 1.找到对应的应用程序池 2.高级设置 3.标识 改为本机用户(或administrator)填写密码,保存. 4.重启iis 我第一次保存的时候老是保存不上,得保存第二次,不知道为什么