判断是否是手机访问
该功能的实现思路是通过HTTP_X_WAP_PROFILE、HTTP_VIA、HTTP_USER_AGENT等信息来判断访客是否通过移动端浏览器访问PHP网站。以下是PHP代码:
/**
* 是否移动端访问访问
*
* @return bool
*/
function isMobile()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
{
return true;
}
// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER['HTTP_VIA']))
{
// 找不到为flase,否则为true
return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset ($_SERVER['HTTP_USER_AGENT']))
{
$clientkeywords = array ('nokia',
'sony',
'ericsson',
'mot',
'samsung',
'htc',
'sgh',
'lg',
'sharp',
'sie-',
'philips',
'panasonic',
'alcatel',
'lenovo',
'iphone',
'ipod',
'blackberry',
'meizu',
'android',
'netfront',
'symbian',
'ucweb',
'windowsce',
'palm',
'operamini',
'operamobi',
'openwave',
'nexusone',
'cldc',
'midp',
'wap',
'mobile'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
{
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER['HTTP_ACCEPT']))
{
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))
{
return true;
}
}
return false;
}
B. html怎么判断手机是否手机访问
主要可以在html中,用js判断
1、js的代码如下
C. 网页怎么判断是电脑浏览还是手机终端
不同的网页判断基准不一样
一、php/html网页判断标准
1、php网页是根据用户访问的设备分辨率来判断是电脑浏览器或者是手机浏览器的。
2、例如php通过如下代码即可实现统计:
<?php
functioncheck_wap(){
if(isset($_SERVER['HTTP_VIA']))returntrue;
if(isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE']))returntrue;
if(isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))returntrue;
if(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML")>0){
//Checkwhetherthebrowser/gatewaysaysitacceptsWML.
$br="WML";
}else{
$browser=isset($_SERVER['HTTP_USER_AGENT'])?trim($_SERVER['HTTP_USER_AGENT']):'';
if(empty($browser))returntrue;
$mobile_os_list=array('GoogleWirelessTranscoder','WindowsCE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','OperaMobi','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,$browser)||
checkSubstrs($mobile_token_list,$browser);
if($found_mobile)
$br="WML";
else$br="WWW";
}
if($br=="WML"){
returntrue;
}else{
returnfalse;
}
}
functioncheckSubstrs($list,$str){
$flag=false;
for($i=0;$i<count($list);$i++){
if(strpos($str,$list[$i])>0){
$flag=true;
break;
}
}
return$flag;
}
if(check_wap()){
echo"wap";
}else{
echo"web";
}
?>
二、javajavascript的判断标准:
1、JavaScript不管是判断电脑浏览器还是手机浏览器,都是通过User Agent 来判断;
2、以 javascript判断实力如下:
<coding-1lang="other">
<scripttype="text/javascript">
varbrowser={
versions:function(){
varu=navigator.userAgent,app=navigator.appVersion;
return{
trident:u.indexOf('Trident')>-1,//IE内核
presto:u.indexOf('Presto')>-1,//opera内核
webKit:u.indexOf('AppleWebKit')>-1,//苹果、谷歌内核
gecko:u.indexOf('Gecko')>-1&&u.indexOf('KHTML')==-1,//火狐内核
mobile:!!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/),//是否为移动终端
ios:!!u.match(/(i[^;]+;(U;)?CPU.+MacOSX/),//ios终端
android:u.indexOf('Android')>-1||u.indexOf('Linux')>-1,//android终端或者uc浏览器
iPhone:u.indexOf('iPhone')>-1||u.indexOf('Mac')>-1,//是否为iPhone或者QQHD浏览器
iPad:u.indexOf('iPad')>-1,//是否iPad
webApp:u.indexOf('Safari')==-1//是否web应该程序,没有头部与底部
};
}()
}
document.writeln("是否为移动终端:"+browser.versions.mobile);
document.writeln("ios终端:"+browser.versions.ios);
document.writeln("android终端:"+browser.versions.android);
document.writeln("是否为iPhone:"+browser.versions.iPhone);
document.writeln("是否iPad:"+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>
</coding>
D. ThinkPHP中判断是手机端还是电脑端访问的方法
一般是通过访问的时候请求来源的header头文件信息来进行判断的,譬如Android的手机访问的话一般都会在hedear头信息里面带上Android这样的信息,同理Iphone、windows phone都会带。
E. asp中怎样实现判断是手机访问还是电脑浏览器访问
如果是手机访问则跳转到wap.asp,如果电脑访问跳转到response.end。
F. 如何判断 访问网页的是手机还是pc
对于想要统计网站访客,收集他们的一些信息,例如搜索词 浏览器型号 分辨率 设备 操作系统等 可以使用网络统计来记录访问我们网站的访客的一些信息 里面有一个访客属性的指标 可以看到是pc还是移动设备访问的。
G. 如何判断是手机还是电脑在访问网站
如何判断是手机还是电脑访问网站:
现在由于手机功能的强大,使用手机上网的用户越来越多,那么就需要判断用户是用何种客户端登陆的网站,如果使用的是电脑则使用电脑版本的网页,如果使用的手机则使用手机版本的网页,下面是一段能够判断是手机还是电脑的代码:
function check() {
var userAgentInfo=navigator.userAgent;
var Agents =new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");
var flag=true;
for(var v=0;v<Agents.length;v++) {
if(userAgentInfo.indexOf(Agents[v])>0) {
flag=false;
break;
}
}
return flag;
}
在以上代码中,如果如果flag返回值为true则说明是电脑客户端,如果是false,则说明使用的是移动客户端,代码比较简单这里就不多介绍了,直接套用就可以了
H. 如何判断是手机访问网站还是电脑访问网站
<? /** *程 序:iswap) *最后更新:2010.11.4 22:56 *程序返回:@return bool 是否是移动设备 *该程序可以任意传播和修改,但是请保留以上版权信息! */ function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { //找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } //脑残法,判断手机发送的客户端标志,兼容性有待提高 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array ( 'nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile' ); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } //协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; } ?>
I. 判断是手机访问还是PC访问
在现在手机上网和wifi越来越普及的情况下,web网站需要对http的客户端进行区分并适配不同的页面,确保给用户最合适的体验效果。
因此从网站服务器端去分析,区分当前http请求是来自mobile的手机上的浏览器,还是来自Windows,Linux,Mac等PC电脑上的浏览器,就显得非常有必要了。
J. PHP判断是否是通过手机访问
你好,PHP判断是否通过手机访问可以通过浏览器的UA判断。。
<?php
if(stripos($_SERVER['HTTP_USER_AGENT'],"android")!=flase||stripos($_SERVER['HTTP_USER_AGENT'],"ios")!=flase||stripos($_SERVER['HTTP_USER_AGENT'],"wp")!=flase)
{
echo '手机访问';
}
else
{
echo '电脑访问';
}
?>
主要是因为浏览器USER_AGENT有操作系统名称,所以通过此函数判断。