php判断百度ua展示不同页面,PHP 如何根据UA展示不同的前端模板
Nick_0017
样式里可以用@media screen这个判断设备屏幕宽度进行不同的样式自定义(@import导入不同样式)。js或php里可以用$_SERVER['USER_AGENT']获取浏览器USERAGENT,用正则匹配判断下面是百度出的一个根据UERAGENT来判断浏览器类型的函数:function my_get_browser(){
if(empty($_SERVER['HTTP_USER_AGENT'])){
return '非浏览器访问。';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){
return 'Internet Explorer 9.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){
return 'Internet Explorer 8.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
return 'Internet Explorer 7.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
return 'Internet Explorer 6.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){
return 'Firefox';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
return 'Chrome';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
return 'Safari';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){
return 'Opera';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
return '360SE';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'iphone')){
return 'iphone';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'ipad')){
return 'ipad';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'android')){
return 'android';
}
}
$useragent = my_get_browser();
//判断浏览器是否手机
if($useragent == 'iphone' || $useragent == 'ipad' || $useragent == 'android'){
//导入手机的样式和js文件
}else{
//导入电脑的样式和js文件
}下面是百度出的另一个判断是否移动设备的类:<?php
/**
* Mobile Detect
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
*/
class Mobile_Detect
{
protected $accept;
protected $userAgent;
protected $isMobile = false;
protected $isAndroid = null;
protected $isAndroidtablet = null;
protected $isIphone = null;
protected $isIpad = null;
protected $isBlackberry = null;
protected $isBlackberrytablet = null;
protected $isOpera = null;
protected $isPalm = null;
protected $isWindows = null;
protected $isWindowsphone = null;
protected $isGeneric = null;
protected $devices = array(
"android" => "android.*mobile",
"androidtablet" => "android(?!.*mobile)",
"blackberry" => "blackberry",
"blackberrytablet" => "rim tablet os",
"iphone" => "(iphone|ipod)",
"ipad" => "(ipad)",
"operamobi" => "opera (mini|mobi)",
"palm" => "(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)",
"windows" => "windows ce; (iemobile|ppc|smartphone)",
"windowsphone" => "windows phone os",
"generic" => "(kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|treo|up.browser|up.link|vodafone|wap|opera mini)"
);
public function __construct()
{
$this->userAgent = $_SERVER['HTTP_USER_AGENT'];
$this->accept = $_SERVER['HTTP_ACCEPT'];
if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {
$this->isMobile = true;
} elseif (strpos($this->accept, 'text/vnd.wap.wml') > 0 || strpos($this->accept, 'application/vnd.wap.xhtml+xml') > 0) {
$this->isMobile = true;
} else {
foreach ($this->devices as $device => $regexp) {
if ($this->isDevice($device)) {
$this->isMobile = true;
}
}
}
}
/**
* Overloads isAndroid() | isAndroidtablet() | isIphone() | isIpad() | isBlackberry() | isBlackberrytablet() | isPalm() | isWindowsphone() | isWindows() | isGeneric() through isDevice()
*
* @param string $name
* @param array $arguments
* @return bool
*/
public function __call($name, $arguments)
{
$device = substr($name, 2);
if ($name == "is" . ucfirst($device) && array_key_exists(strtolower($device), $this->devices)) {
return $this->isDevice($device);
} else {
trigger_error("Method $name not defined", E_USER_WARNING);
}
}
/**
* Returns true if any type of mobile device detected, including special ones
* @return bool
*/
public function isMobile()
{
return $this->isMobile;
}
protected function isDevice($device)
{
$var = "is" . ucfirst($device);
$return = $this->$var === null ? (bool) preg_match("/" . $this->devices[strtolower($device)] . "/i", $this->userAgent) : $this->$var;
if ($device != 'generic' && $return == true) {
$this->isGeneric = false;
}
return $return;
}
}
$mb = new Mobile_Detect();
if($mb->isMobile()){
//导入手机的样式和js文件
}else{
//导入电脑的样式和js文件
}
php判断百度ua展示不同页面,PHP 如何根据UA展示不同的前端模板相关推荐
- 13.tornado操作之增加用户喜欢的图片展示页+同时展示用户上传的所有图片增加展示图片有多少用户喜欢的功能
目录: 第一部分:增加用户喜欢的图片展示页 1.基本步骤先走起来--视图+接口+前端模板 (1)编写视图ProfileHandler: (2)编写接口:(app.py文件中加入以下接口) (3)编写前 ...
- 爱番番/百度商桥-当前页面弹窗展示demo
爱番番,百度商桥改名之后的产物. 百度商桥不细说了,自己去网站配置拿到自己的商桥链接(类似这样的):https: //p.qiao.baidu.com/cps5/chat?siteId=11111& ...
- 美多商城之购物车(展示商品页面简单购物车)
三.展示商品页面简单购物车 需求:用户鼠标悬停在商品页面右上角购物车标签上,以下拉框形式展示当前购物车数据. 3.1. 简单购物车数据接口设计和定义 1.请求方式 选项 方案 请求方法 GET 请求地 ...
- php 偷偷转移别人权重,判断百度蜘蛛偷偷进行301转移权重 给新站提权
功能说明 1.判断蜘蛛跳转 2.支持多个域名随机跳转 3.判断百度搜索进去不进行跳转(防止被发现) 4.正常浏览器访问不跳转 5.过安全狗防护 使用方法 以下代码新建为:useragent.func. ...
- 如何开发一个用户脚本系列(3)——脚本一:百度首页和搜索页面添加 Google 搜索框...
2019独角兽企业重金招聘Python工程师标准>>> 在本系列的前两篇文章中,我们对用户脚本以及开发脚本前应该掌握的基础知识进行了介绍.从这篇文章开始,将以已发布可用的脚本为基础, ...
- 抓取百度页面html,百度会抓取页面代码中的注释内容吗
百度会抓取页面代码中的注释内容吗 内容导读:百度会抓取页面代码中的注释内容吗?答案是百度会抓取,但是在提取正文的时候会直接忽略掉,也就是说页面代码的注释内容不会影响到页面质量,所以大家尽管放心. 问题 ...
- 阿语python美多商城-商品-购物车管理之第7.3节展示商品页面简单购物车
展示商品页面简单购物车 需求:用户鼠标悬停在商品页面右上角购物车标签上,以下拉框形式展示当前购物车数据. 1. 简单购物车数据接口设计和定义 1.请求方式 选项 方案 请求方法 GET 请求地址 /c ...
- html 显示天气预报,前端HTML页面获取实时天气预报并展示
前端HTML页面获取实时天气预报并展示 昨天完成了一个实时显示天气预报的功能,今天在这完记录一下,纯前端layui和JQuery代码.没有后台交互 获取用户打开页面的IP地址进行定位城市. 试了很多方 ...
- Vue+element-ui上传logo图片到后端生成二维码展示到页面
Vue+element-ui上传logo图片生成二维码展示到页面 该文章将介绍如何通过前端上传二维码logo图片在后台生成二维码,并将生成的二维码转换成Base64编码返回给前端在页面展示,用户扫码二 ...
最新文章
- 一个最简单的 Github workflow 例子
- rtl support
- 敏捷开发模式下如何更好的进行测试
- 让UILabel的文字顶部对齐
- Python Flask Web 第三课 —— 模板
- LINK : fatal error LNK1168
- ADS仿真设计AB类射频功率放大器
- mkcert在windows系统上制作SSL证书
- 对于PS色彩调整的初步认识
- 网络割接方案模板(范文)
- 机器学习这10年我们能在各自的领域做点什么?
- 测试测量 | 【四】如何实现生产过程中的自动化测试?——保证高频信号的准确传输
- Linux I/O编程
- [原创]SP的前途??(猛回头,警世钟)[转贴]
- cve查询_CVE年满21岁:如何实现这一里程碑
- 如何用html5绘制圆形图片,javascript – 如何使用html5画布绘制连续的圆形图案
- oracle的insert写法,Oracle中Insert语句的总结
- MFC 绘制半透明图片
- JavaFX店铺管理软件
- 计算机考研报师范类大学好吗,想考师范类的研究生都有哪些大学招
热门文章
- UI实用素材|下拉菜单细节设计,分层呈现
- 虚拟dom_虚拟DOM与dom diff
- 牛客网编程题07--提取不重复的整数
- Python--MySql学习(10.30)
- 分级时间轮优化普通时间轮定时器
- c语言排序算法_C语言写排序算法(二) —— 选择排序
- 3d旋转相册代码源码_用代码制作3d相册签到墙(附源码)
- 为什么调用webservice接口只有 string arg0_快速开发平台中关于支持第三方接口开发的指导
- 完成计算机组装工艺卡组装准备,计算机组装与维护(刘猛)教程方案.doc
- linux使用jinja2模板_linux下安装python组件之jinja2