1、使用get_headers

页面内容<?php

ob_start('ob_gzhandler'); // 开启gzip,屏蔽则关闭

$data = array(

array('name'=>'one','value'=>1),

array('name'=>'two','value'=>2),

array('name'=>'three','value'=>3)

);

header('content-type:application/json');

echo json_encode($data);

?>

使用get_headers判断是否使用gzip压缩<?php

$url = 'http://www.example.com/';

var_dump(check_gzip($url));

/**

* 判断url是否经过gzip压缩

* @param String  $url 来源

* @param Boolean

*/

function check_gzip($url){

$header = get_headers($url, 1);

if(isset($header['Vary']) && $header['Vary']=='Accept-Encoding'){

return true;

}

return false;

}

?>

测试结果:

当加上ob_gzhandler时,返回true,删除后返回false。

2、使用curl

图片<?php

header('content-type:image/jpeg');

ob_start('ob_gzhandler'); // 开启gzip,屏蔽则关闭

echo file_get_contents('test.jpg');

?>

使用curl判断是否使用gzip压缩<?php

$url = 'http://www.example.com/';

var_dump(check_gzip($url));

/**

* 判断url是否经过gzip压缩

* @param String  $url 来源

* @param Boolean

*/

function check_gzip($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, 1);         // 输出header信息

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 返回的信息不直接输出

curl_setopt($ch, CURLOPT_ENCODING, '');      // 不限制编码类型

$response = curl_exec($ch);

if(!curl_errno($ch)){

$info = curl_getinfo($ch);

// 获取header

$header_size = $info['header_size'];

$header_str = substr($response, 0, $header_size);

$filter = array("\r\n", "\r");

$header_str = str_replace($filter, PHP_EOL, $header_str);

// 检查content-encoding

preg_match('/Content-Encoding: (.*)\s/i', $header_str, $matches);

if(isset($matches[1]) && $matches[1]=='gzip'){

return true;

}

}

return false;

}

?>

测试结果:

当加上ob_gzhandler时,返回true,删除后返回false。

php 判断是否gzip,PHP网站判断页面文件或图片是否经过gzip压缩相关推荐

  1. 自动判断浏览器的中英文版本自动跳转网站中英文页面代码

    许多网站现在都是依靠自动判断浏览器的中英文版本来判断给你打开网站的中文还是英文版,也许好多朋友还不知道这个代码,今天正好给公司改版企业网站用到了,在此公布出来,供大家一起学习. HTML网页根据来访者 ...

  2. 手机端访问PC端网站判断识别跳转至手机端页面代码集锦

    一个网站,当访客在手机端上访问的时候,最终落地的应该是手机端的页面.如果网站采用的是响应式框架做了自适应,那么体验是OK的:但是如果网站不是用响应式,而是PC和手机端分离开来,那么访客使用移动设备访问 ...

  3. 网络营销专员浅析如何判断网络营销中网站优化效果几何?

    对于新老站长来说在网站网络营销推广过程中时常都会针对行业内类似同行网站进行网站优化效果分析,并针对其他网站重点优势取长补短以此来提升自家网站优化水平,大大提升企业网站在搜索引擎中的网站排名和权重指数. ...

  4. web网站判断是手机访问还是pc电脑访问的检测逻辑

    作者: lizongbo  发表于:00:25. 星期三, 一月 26th, 2011  版权声明 :可以任意转载,转载时请务必以超链接形式标明文章 原始出处 和作者信息及本版权声明. http:// ...

  5. php 判断是否微信访问,PHP判断是否微信访问的方法示例

    PHP判断是否微信访问的方法示例 本文实例讲述了PHP判断是否微信访问的方法.分享给大家供大家参考,具体如下: 在开发中有时需要禁止或者仅允许微信浏览器进行访问,则此时就需要对微信浏览器访问进行判断, ...

  6. 如何快速统计网站所有页面的文本字数

    文章目录 前言 一.WinHTTrack Website Copier是什么? 二.WinHTTrack Website Copier使用步骤 三.什么是Python? 四.Python实现的功能 前 ...

  7. 网站内容页面怎样优化?深度解析内容页面优化技巧

    网站SEO优化,内容是基础.一个网站如果没有内容,谈再多的SEO优化技术都是空谈.网站内容可以是文字.图片或者是视频,但是我们知道,搜索引擎是比较喜欢图文结合的内容,所以,讯阅网xuuyue.com在 ...

  8. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...

    PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...

  9. php 判断当前栏目高亮,Phpcms V9采用if语句判断当前栏目高亮、判断分类信息是否过期...

    在用PC V9建站的时候,很多朋友会想到Phpcms V9判定当前栏目,让当前栏目高亮的功能,在这里分享判断当前栏目.当前栏目高亮的代码,同时在此要分享if语句判断分类信息是否过期,CMSYOU给力. ...

最新文章

  1. 《从零开始学Swift》学习笔记(Day 10)——运算符是“ +、-、*、/ ”吗?
  2. 如果给你500万,让你朝对象腿上开一枪,你愿意吗?
  3. B站面试官炫耀身价过亿,贬低北邮应试者引热议!不知北邮毕业的B站创始人作何感想?
  4. 微信小程序开发系列七:微信小程序的页面跳转
  5. 在ASP.NET Core中使用AOP来简化缓存操作
  6. 反应式服务中的线程本地状态可用性
  7. e480 黑苹果_Thinkpad E480黑苹果组建Fusion Drive——鱼和熊掌我都要
  8. linux文件目录含义,Linux中文件权限目录权限的意义及权限对文件目录的意义
  9. Ubuntu 配置MySQL远程连接
  10. Golang 五种原子性操作的用法详解
  11. 计算机圆半径计算公式,圆半径计算公式是什么?
  12. Inspector工具使用
  13. php保存文件乱码,如何解决php保存文件乱码的问题
  14. U3D: 先激活、在操作,才能起作用
  15. 你要相信没有到不了的明天
  16. 图解“管道过滤器模式”应用实例:SOD框架的命令执行管道
  17. 手把手从零到有的个人网站开发
  18. Stopwatch常用方法,不积硅步无以至千里
  19. python如何分析高频词_python数据分析高频词提取,pyecharts词云制作并保存
  20. csv文件和excel文件

热门文章

  1. vue2.0 通过v-html指令渲染的富文本无法修改样式的解决方案
  2. 列出本地git仓库中的文件?
  3. 在String.Format [复制]中转义大括号'{'
  4. 使用Java反射更改私有静态最终字段
  5. 差分及树上差分学习笔记
  6. ECS TAG功能详解
  7. mysql中文乱码问题的解决方案
  8. Spring(24)——自定义BeanDefinitionRegistryPostProcessor
  9. linux shell里面nohup的用法
  10. finalspeed安装及使用教程