se il tuo problema è semplicemente di prendere tutto il file usa una do while che cicla tutto il file ed un buffer anke ridotto...tipo:
oppure vedi se funziona il filesize per sapere la grandezza del file...Codice PHP:
$handle = gzopen("http://www.example.com/", "r");
$contents = "";
do {
$data = gzread ($handle, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while (true);
gzclose($handle);