Universal function of GUNZIP:
function gunzip ($ zipped) {
$ offset = 0;
if (substr ($ zipped, 0,2) == "\ x1f \ x8b")
$ offset = 2;
if (substr ($ zipped, $ offset, 1) == "\ x08") {
# file_put_contents ("tmp.gz", substr ($ zipped, $ offset - 2));
return gzinflate (substr ($ zipped, $ offset + 8));
}
return "Unknown Format";
}
An example of an integrating function with CURL:
$ headers_enabled = 1;
curl_setopt ($ c, CURLOPT_HEADER, $ headers_enabled)
$ ret = curl_exec ($ c);
if ($ headers_enabled) {
# file_put_contents ("preungzip.html", $ ret);
$ sections = explode ("\ x0d \ x0a \ x0d \ x0a", $ ret, 2);
while (! strncmp ($ sections [1], 'HTTP /', 5)) {
$ sections = explode ("\ x0d \ x0a \ x0d \ x0a", $ sections [1], 2);
}
$ headers = $ sections [0];
$ data = $ sections [1];
if (preg_match ('/ ^ Content-Encoding: gzip / mi', $ headers)) {
printf ("gzip header found \ n");
return gunzip ($ data);
}
}
return $ ret;
Maryam Jeddian Jan 30 '11 at 7:27 2011-01-30 07:27
source share