<?php function gzip_tester($url) { $result = array( 'url' => $url, 'compressed' => '-', 'compressed_type' => '-', 'uncompressed_size' => '-', 'compressed_size' => '-', 'percentage' => '-' ); $original = get_header($url); $compress = get_header($url, true); if (count($original) > 1) { $result['compressed'] = 'no'; $result['uncompressed_size'] = $original['size_download'] . ' bytes'; $header = get_headers_response($compress); if (count($header) > 1) { $compression = $header["content-encoding"]; $size = $header["content-length"]; if ($compression != "" && $size != "") { $result['compressed'] = "yes"; $result['compressed_type'] = $compression; $result['compressed_size'] = $size . ' bytes'; $result['percentage'] = number_format(($original['size_download'] - $size) / $original['size_download'] * 100, 1) . ' %'; } } } return $result; } function get_header($url, $com = false) { $info = array(); $c = curl_init($url); if ($com) { curl_setopt($c, CURLOPT_ENCODING, "gzip,deflate"); } curl_setopt($c, CURLOPT_HEADER, true); curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'); curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($c, CURLOPT_FOLLOWLOCATION, true); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_REFERER, $url); if (!curl_error($c)) { if ($com) { $info = curl_exec($c); } else { curl_exec($c); $info = curl_getinfo($c); } curl_close($c); } return $info; } function get_headers_response($response) { $headers = array(); $header_text = substr($response, 0, strpos($response, "\r\n\r\n")); foreach (explode("\r\n", $header_text) as $i => $line) if ($i === 0) $headers['http_code'] = $line; else { list($key, $value) = explode(': ', $line); $headers[$key] = $value; } return $headers; } echo "<pre>"; print_r(gzip_tester("http://yourwebsite.com/")); echo "</pre>"; ?>