hace algunos dias tuve un problema parecido, lo solucione de la siguiente manera:
Código:
header("Content-Type: $type");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $size);
//Download File
ob_end_clean();
flush();
readfile($file);
espero te sirva