Maison >développement back-end >tutoriel php >Déterminez si la page ou l'image a été compressée par gzip via php
Utilisez php pour déterminer si la page ou l'image a été compressée par gzip
Contenu de la page
<?phpob_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);?>
Utilisez get_headers pour déterminer s'il faut utiliser la compression 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; }?>
Résultats des tests :
Lorsque ob_gzhandler est ajouté, return true, return false
après la suppression 2. Utilisez curl
image
<?phpheader('content-type:image/jpeg'); ob_start('ob_gzhandler'); // 开启gzip,屏蔽则关闭echo file_get_contents('test.jpg');?>
Utilisez curl pour déterminer s'il faut utiliser la compression 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; }?>
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 :
via php Auto -incrémenter l'identifiant pour créer une classe de numéros unique
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!