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

最近在做phongap的项目,同一套代码,支持pc可以调试,又支持手机app调用接口,如果在pc上不屏掉调用接口js会报错,难以加载

,所以就在网上找了,这个,不是原创,重在分享。

<?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 ‘手机登录‘;
else
	echo ‘电脑登录‘;
?>

试一下,还行,现在只是针对自己调试,不什么问题
时间: 2024-12-12 04:30:38

PHP识别电脑还是手机访问网站的相关文章

手机访问网站自动跳转到手机版

目前很多网站已经出现了手机版的网站,手机网站是和互联网上的网站同步更新的,大多数人访问我们的网站是直接访问电脑上的域名,不可能为了手机网站重新记住一个域名,大家都知道,中国人都是比较懒的,那么遇到这个情况我们如何面对了,其实办法很简单就是在网站头加入一句判断语句,判断是手机访问网站时就自动跳入手机版,如果是电脑访问就显示正常版本的就可以了. 代码如下: 1 <script src="http://siteapp.baidu.com/static/webappservice/uaredire

解决手机访问网站时整体相对屏幕缩小问题?(已解决)

自己开发出来的网站,在手机上访问时,总是整体小了一块,不能很好的适应屏幕,每次都要用手指再放大到合适尺寸,后发现,需要在开发代码中添加: <meta name="viewport" content="width=device-width, initial-scale=1">  (可添加到第一行) 参数说明: width - viewport的宽度 height - viewport的高度 initial-scale - 初始的缩放比例 minimum-s

通过PHP自带的$_SERVER判断 手机访问网站自动跳转到手机版

需要有PC版网站和移动版网站,当手机访问域名的时候,通过PHP自带的$_SERVER判断浏览设备并跳转到移动版页面.如果是PC电脑打开网址,则不跳转直接访问pc版. 1 <?php 2 //php判断客户端是否为手机 3 $agent = $_SERVER['HTTP_USER_AGENT']; 4 if(strpos($agent,"NetFront") || strpos($agent,"iPhone") || strpos($agent,"MI

使用Charles代理工具导致电脑无法正常访问网站(您的连接不是私密连接)

很多开发者都需要使用代理工具来调试接口,查看数据等等,但是有时候发现打开代理工具之后,代理工具同时也拦截了电脑的所有网络请求,导致电脑访问网站时提示(您的连接不是私密连接)... 造成这种问题的原因就是charles等代理工具也拦截了电脑网页的请求,但是使用的是charles代理工具的证书,导致浏览器无法验证此网页的证书,进而导致了报错,那么该如何解决呢?我们只需要将charles的证书添加到电脑的信任证书中即可. 进入Charles的Help中,选择SSL Proxying,然后点击Insta

手机访问网站如何自动跳转到手机版本自动转到手机网站

利用百度Site App代码判断手机访问: <script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script><script type="text/javascript">uaredirect("http://blog.sina.com.cn/sdask&q

js判断是手机访问网站跳转

<script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script> <script type="text/javascript">uaredirect("你的手机版网址");</script>

判断是否是手机访问网站

public static bool IsMobile() { var context = HttpContext.Current; if (context != null) { var request = context.Request; if (request.Browser.IsMobileDevice) { return true; } if (!string.IsNullOrEmpty(request.UserAgent) && RegexMobile.IsMatch(reque

Chrome浏览器模拟手机访问网站

1. 按F12开打开发者工具,点击红框部分按钮 2. 点击红框部分 3. 输入网址试一下

JS判断手机访问网站

<script type="text/javascript"> if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))) { window.location.href = "http://www.baidu.com/"; } </script>