好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php来访设备判断 php判断设备类型

很多站长朋友们都不太清楚php来访设备判断,今天小编就来给大家整理php来访设备判断,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php如何判断访问者的设备是不是同一个设备? 2、 ThinkPHP中判断是手机端还是电脑端访问的方法 3、 怎么用php判断用户的访问是否是来自移动端 4、 网页怎么判断是电脑浏览还是手机终端 5、 PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结 php如何判断访问者的设备是不是同一个设备?

从绝对意义上来讲,这是不可能的。但相对而言,也能做一个近似的。简单的方式就是利用cookie在访问者的机器存放唯一的一个用户id或者别的什么标识号,下次访问时再读取这个号就行了。前提是,客户端的浏览器允许你这么做,而且用户没有清除cookie。

ThinkPHP中判断是手机端还是电脑端访问的方法

一般是通过访问的时候请求来源的header头文件信息来进行判断的,譬如Android的手机访问的话一般都会在hedear头信息里面带上Android这样的信息,同理Iphone、windows phone都会带。

怎么用php判断用户的访问是否是来自移动端

function isMobile()

{

// 如果有HTTP_X_WAP_PROFILE则一定是移动设备

if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))

{

return true;

}

// 如果HTTP_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;

}

复制粘贴

网页怎么判断是电脑浏览还是手机终端

不同的网页判断基准不一样

一、php/html网页判断标准

1、php网页是根据用户访问的设备分辨率来判断是电脑浏览器或者是手机浏览器的。

2、例如php通过如下代码即可实现统计:

<?php 

function check_wap() { 

if (isset($_SERVER['HTTP_VIA'])) return true; 

if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) return true; 

if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) return true; 

if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0) { 

// Check whether the browser/gateway says it accepts WML. 

$br = "WML"; 

} else { 

$browser = isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : ''; 

if(empty($browser)) return true; 

$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,$browser) || 

checkSubstrs($mobile_token_list,$browser); 

if($found_mobile) 

$br ="WML"; 

else $br = "WWW"; 

} 

if($br == "WML") { 

return true; 

} else { 

return false; 

} 

} 

function checkSubstrs($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"; 

} 

?>

二、java javascript的判断标准:

1、JavaScript不管是判断电脑浏览器还是手机浏览器,都是通过User Agent 来判断;

2、以 javascript判断实力如下:

<coding-1 lang="other">  

<script type="text/javascript">  

var browser={   

versions:function(){   

var u = 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.+Mac OS X/), //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>

PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结

1、推荐的一种方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码,摘自Discuz x3.2

<?php

function checkrobot($useragent=''){

static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');

static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');

$useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);

if(strpos($useragent, 'http://') === false dstrpos($useragent, $kw_browsers)) return false;

if(dstrpos($useragent, $kw_spiders)) return true;

return false;

}

function dstrpos($string, $arr, $returnvalue = false) {

if(empty($string)) return false;

foreach((array)$arr as $v) {

if(strpos($string, $v) !== false) {

$return = $returnvalue ? $v : true;

return $return;

}

}

return false;

}

if(checkrobot()){

echo '机器人爬虫';

}else{

echo '人';

}

?>

实际应用中可以这样判断,直接不是搜索引擎才执行操作

<?php

if(!checkrobot()){

//do something

}

?>

2、第二种方法:

使用PHP实现蜘蛛访问日志统计

$useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));

if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';}

elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';}

elseif (strpos($useragent,'baiduspider') !== false){$bot = 'Baidu';}

elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';}

elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';}

elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';}

elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';}

elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';}

elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';}

elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';}

elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';}

elseif (strpos($useragent,'yodaoBot') !== false){$bot = 'Yodao';}

elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';}

elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';}

elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';}

elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';}

elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';}

if(isset($bot)){

$fp = @fopen('bot.txt','a');

fwrite($fp,date('Y-m-d H:i:s')."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."\r\n");

fclose($fp);

}

第三种方法:

我们可以通过HTTP_USER_AGENT来判断是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志,下面列取了一部分。

function is_crawler() {

$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);

$spiders = array(

'Googlebot', // Google 爬虫

'Baiduspider', // 百度爬虫

'Yahoo! Slurp', // 雅虎爬虫

'YodaoBot', // 有道爬虫

'msnbot' // Bing爬虫

// 更多爬虫关键字

);

foreach ($spiders as $spider) {

$spider = strtolower($spider);

if (strpos($userAgent, $spider) !== false) {

return true;

}

}

return false;

}

下面的php代码附带了更多的蜘蛛标识

function isCrawler() {

echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']);

if (!empty($agent)) {

$spiderSite= array(

"TencentTraveler",

"Baiduspider+",

"BaiduGame",

"Googlebot",

"msnbot",

"Sosospider+",

"Sogou web spider",

"ia_archiver",

"Yahoo! Slurp",

"YoudaoBot",

"Yahoo Slurp",

"MSNBot",

"Java (Often spam bot)",

"BaiDuSpider",

"Voila",

"Yandex bot",

"BSpider",

"twiceler",

"Sogou Spider",

"Speedy Spider",

"Google AdSense",

"Heritrix",

"Python-urllib",

"Alexa (IA Archiver)",

"Ask",

"Exabot",

"Custo",

"OutfoxBot/YodaoBot",

"yacy",

"SurveyBot",

"legs",

"lwp-trivial",

"Nutch",

"StackRambler",

"The web archive (IA Archiver)",

"Perl tool",

"MJ12bot",

"Netcraft",

"MSIECrawler",

"WGet tools",

"larbin",

"Fish search",

);

foreach($spiderSite as $val) {

$str = strtolower($val);

if (strpos($agent, $str) !== false) {

return true;

}

}

} else {

return false;

}

}

if (isCrawler()){

echo "你好蜘蛛精!";

}

else{

echo "你不是蜘蛛精啊!";

关于php来访设备判断的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php来访设备判断 php判断设备类型的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did209069
更新时间:2023-05-03   阅读:34次

上一篇: 数据添加键名php php中如何增加外键

下一篇:php类赋值吗 php中的类是什么

最新资料更新

  • 1.phpping测速 测试php性能工具
  • 2.php版本怎么更新 php版本升级
  • 3.无法下载file.php 无法下载filedownload
  • 4.apexphp辅助 apex wr辅助
  • 5.网页php查看源代码 php怎么看源码
  • 6.图片二进制php 图片二进制转换器
  • 7.php内核源码剖析 php源码使用教程
  • 8.php爬淘宝图片 php爬取图片
  • 9.php在线运行测试 php 测试工具
  • 10.php浏览页面乱码 php页面字符出现乱码怎么解决
  • 11.php接收tcp数据 php tcp udp
  • 12.hbuilder写php hbuilder写PHP
  • 13.php语言怎么玩 php语言入门
  • 14.php数据库对象 php针对数据库的查询函数是
  • 15.原生php提交form php原生开发的好处
  • 16.php解压gz效率 rarphp文件怎么解压
  • 17.phpoutfile的简单介绍
  • 18.php代码调用js php调用java代码
  • 19.php数据层设计 php数据库操作
  • 20.无限级菜单php java无限极菜单

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]