Revisa el tamaño de tu archivo .. readfile() se supone que lo lee entero ..
Lo otro que puedes definir en las cabeceras HTTP es el tamaño de tu archivo que vas a entregar para descarga en la cabecera tipo:
Código PHP:
header("Content-Length: " . filesize($archivo));
Te recomiendo leer la documentación de header() en los comentarios de los usuarios encontraras más cabeceras HTTP y comentarios al respecto.
Un saludo,