Maison > développement back-end > tutoriel php > Déterminez si la page ou l'image a été compressée par gzip via php

Déterminez si la page ou l'image a été compressée par gzip via php

jacklove
Libérer: 2023-04-01 15:20:01
original
1628 Les gens l'ont consulté

Utilisez php pour déterminer si la page ou l'image a été compressée par gzip

1 Utilisez get_headers

Contenu de la page

<?phpob_start(&#39;ob_gzhandler&#39;); // 开启gzip,屏蔽则关闭$data = array(    array(&#39;name&#39;=>&#39;one&#39;,&#39;value&#39;=>1),    array(&#39;name&#39;=>&#39;two&#39;,&#39;value&#39;=>2),    array(&#39;name&#39;=>&#39;three&#39;,&#39;value&#39;=>3)
);

header(&#39;content-type:application/json&#39;);echo json_encode($data);?>
Copier après la connexion

Utilisez get_headers pour déterminer s'il faut utiliser la compression gzip

<?php$url = &#39;http://www.example.com/&#39;;
var_dump(check_gzip($url));/**
 * 判断url是否经过gzip压缩
 * @param String  $url 来源
 * @param Boolean
 */function check_gzip($url){
    $header = get_headers($url, 1);    if(isset($header[&#39;Vary&#39;]) && $header[&#39;Vary&#39;]==&#39;Accept-Encoding&#39;){        return true;
    }    return false;
}?>
Copier après la connexion

Résultats des tests :
Lorsque ob_gzhandler est ajouté, return true, return false

après la suppression 2. Utilisez curl

image

<?phpheader(&#39;content-type:image/jpeg&#39;);
ob_start(&#39;ob_gzhandler&#39;); // 开启gzip,屏蔽则关闭echo file_get_contents(&#39;test.jpg&#39;);?>
Copier après la connexion

Utilisez curl pour déterminer s'il faut utiliser la compression gzip

<?php$url = &#39;http://www.example.com/&#39;;
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, &#39;&#39;);      // 不限制编码类型
    $response = curl_exec($ch);    if(!curl_errno($ch)){        $info = curl_getinfo($ch);        // 获取header
        $header_size = $info[&#39;header_size&#39;];        $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(&#39;/Content-Encoding: (.*)\s/i&#39;, $header_str, $matches);        if(isset($matches[1]) && $matches[1]==&#39;gzip&#39;){            return true;
        }
    }    return false;
}?>
Copier après la connexion

Résultats des tests :
Lors de l'ajout de ob_gzhandler, return true, return false après suppression

Cet article explique comment utiliser php pour déterminer si une page ou une image a été compressée par gzip. Pour plus de contenu connexe, veuillez. faites attention au site Web chinois php.

Recommandations associées :

Exemple HTML5 d'obtention de la position géographique actuelle et de son affichage sur la carte Baidu

via php Auto -incrémenter l'identifiant pour créer une classe de numéros unique

Explication sur la sortie de page optimisée en php, compatible avec des exemples d'accès aux robots des moteurs de recherche

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal