利用PHP判断iPhone、iPad、Android、PC设备

摘要:
图像将被强制压缩,但只能使用wp-is_mobile()函数在手机上隐藏此图片。这对像iPad2这样的低分辨率设备来说是一场灾难。所以我决定写一段代码来解决这个问题。我决定使用Windows系统作为大多数家用设备的PC。Windows系统基本上是判断浏览器提交的USAGENT 123456789101112131415161718192021222324的系统<

201408311554

首页那张大图确实是一个比较头疼的问题

在PC上显示是没问题的,可是到手机上就会超出页面一大截,如果做自适应,图片会被强制压缩

无奈只能用wp_is_mobile()函数在手机上隐藏了这张图,可是这函数似乎对iPad不管用

在iPad Air等高分辨率设备还好,在iPad2这类低分辨率设备上可就惨了

于是我决定自写一段代码解决这个问题

判断代码

我将使用Windows系统的设备定为PC,毕竟博客面向中国用户,大部分家用设备还是用的Windows系统

原理是判断浏览器提交的USER AGENT

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
//获取USER AGENT
$agent=strtolower($_SERVER['HTTP_USER_AGENT']);
 
//分析数据
$is_pc=(strpos($agent,'windows nt'))?true:false;  
$is_iphone=(strpos($agent,'iphone'))?true:false;  
$is_ipad=(strpos($agent,'ipad'))?true:false;  
$is_android=(strpos($agent,'android'))?true:false;  
 
//输出数据
    if($is_pc){  
        echo"这是PC";  
    }  
    if($is_iphone){  
        echo"这是iPhone";  
    }  
    if($is_ipad){  
        echo"这是iPad";  
    }  
    if($is_android){  
        echo"这是Android";  
    }  
?>

使用方法

大家将echo语句换成每个设备上需要输出的语句就可以了

若不需要对该设备进行单独设定,删除对应它的if代码即可

禁止WP Super Cache缓存首页

由于WP Super Cache会对首页进行缓存

导致判断代码失效,我们必须禁止它对首页的缓存

1、进入设置-WP Super Cache

2、高级选项,找到底部的“已被接受的文件名和拒绝的URI”

3、勾选其中的主页(is_home)

20140908105551

4、点击保存按钮,再选择顶部的内容选项,点击“删除缓存”即可

20140908105639

5、若有需要,进入预缓存选项,点击“立即预加载缓存”

免责声明:文章转载自《利用PHP判断iPhone、iPad、Android、PC设备》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IDEA调试常用快捷键玩转spring boot——ajax跨域下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VUE三 vue-router(路由)详解

前端路由 根据不同的 url 地址展示不同的内容或页面,无需依赖服务器根据不同URL进行页面展示操作 优点 用户体验好,不需要每次都从服务器全部获取,快速展现给用户 缺点 使用浏览器的前进,后退键的时候会重新发送请求,没有合理地利用缓存 单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动的位置 一、路由(以user为例) userList--...

vant上传文件到后端

最近在做手机版页面,采用的vant框架,这个上传控件和以前用iview、element有点不一样,iview、element都是直接提供后端接口文件会自动发送到后端,vant需要自己负责发送文件到后端,对于我这种面向百度编程人员还是有点难度。特意记一下,能帮到其他面向百度编程人员 代码 很简单,基本是使用文件构建FormData参数,如下: html代...

从零开始编写自己的C#框架(12)——T4模板在逻辑层中的应用(一)(附源码)

对于T4模板很多朋友都不太熟悉,它在项目开发中,会帮我们减轻很大的工作量,提升我们的开发效率,减少出错概率。所以学好T4模板的应用,对于开发人员来说是非常重要的。   园子里对于T4模板的介绍与资料已经太多了,所以在这里我就不再详细讲述基础知识了,只是说说T4模板在本框架中的具体应用与实践。   一、创建逻辑层项目         二、添加引用      ...

SEO那些事:一句代码一键分享网站

这是很久以前就已经写过的笔记了,有一个习惯,每次遇到一个问题,都会进行百度,然后把解决问题的关键点记录下来,有人问我,为什么更新频率如此之快,大部分都是从前积累的知识点。 其实每天工作所涉及的知识点都非常的多,长久记录下来,也算是一笔财富了,从前只是记录在印象笔记里面,看着自己的印象笔记日益渐慢,于是放在了这个平台,不得不说,简书的平台可以存储很多技术文...

iOS性能优化之内存管理:Analyze、Leaks、Allocations的使用和案例代码

最近接了个小任务,和公司的iOS小伙伴们分享下instruments的具体使用,于是有了这篇博客...性能优化是一个很大的话题,这里讨论的主要是内存泄露部分。 一. 一些相关概念 很多人应该比较了解这块内容了...可以权当复习复习... 1.内存空间的划分: 我们知道,一个进程占用的内存空间,包含5种不同的数据区:(1)BSS段:通常是存放未初始化的全局变...

highcharts图表

<!--图表例子--> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Highcharts Example...