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:
Codice PHP:
$handle gzopen("http://www.example.com/""r");
$contents "";
do {
    
$data gzread ($handle8192);
    if (
strlen($data) == 0) {
        break;
    }
    
$contents .= $data;
} while (
true);
gzclose($handle); 
oppure vedi se funziona il filesize per sapere la grandezza del file...