Heim > Artikel > Backend-Entwicklung > PHP implementiert eine Methode, um festzustellen, ob eine Seite oder ein Bild von gzip komprimiert wurde
Der folgende Editor stellt Ihnen eine PHP-Methode zur Verfügung, mit der Sie feststellen können, ob eine Seite oder ein Bild von gzip komprimiert wurde. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und schauen wir uns das an
Verwenden Sie PHP, um festzustellen, ob die Seite oder das Bild von gzip komprimiert wurde
Verwenden Sie get_headers
Seiteninhalt
<?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); ?>
Verwenden Sie get_headers, um zu bestimmen, ob die GZIP-Komprimierung verwendet werden soll
<?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; } ?>
Testergebnisse:
Wenn ob_gzhandler hinzugefügt wird, gibt es true zurück, und wenn es gelöscht wird, gibt es false zurück
2. Verwenden Sie Curl
Bild
<?php header('content-type:image/jpeg'); ob_start('ob_gzhandler'); // 开启gzip,屏蔽则关闭 echo file_get_contents('test.jpg'); ?>
Verwenden Sie Curl, um zu bestimmen, ob die GZIP-Komprimierung verwendet werden soll
<?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; } ?>
Testergebnisse:
Wenn ob_gzhandler hinzugefügt wird, wird true und false zurückgegeben wird nach dem Löschen zurückgegeben
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
PHP-Funktion wandelt jede Zahl in die entsprechende chinesische Zeichenzahl um
Gedanken verursacht durch protected in PHP
PHPRegulärer Ausdruck erfassende Gruppe und nicht erfassende Gruppe
Das obige ist der detaillierte Inhalt vonPHP implementiert eine Methode, um festzustellen, ob eine Seite oder ein Bild von gzip komprimiert wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!