Hola,
El problema de tu codigo es que no identifica el contenido que manda al navegador. Con esta linea:
Código PHP:
header("Content-type: octet/stream ");
le estas diciendo que le mandas solo unos cuantos bytes, no le dices que tipo de fichero es. Sustituyela por:
Código PHP:
header("Content-type: $type[1]");
En $type[1] has obtenido el tipo MIME (el tipo del fichero). Con esto le comunicas al navegador que el fichero es de tal tipo, y el navegador hara con los datos lo que este programado hacer. Si esta configurado para mostrarlo dentro del navegador (plugins para PDF, imagenes,...), lo mostrara. Si esta configurado para abrirlo con una aplicacion externa, lo hara. Si no reconoce el tipo de fichero, mostrara el dialogo abrir/guardar.
Saludos.