Necesitas más cabeceras HTTP que indiquen el "content-disposition" entre otras cosas para indicar al "cliente" (navegador) que los datos que envias son para que los descargue o los vea en línea (si puede). Todo esto es parte del protocolo HTTP (que cuanto más conozcas mejor te irá para este tipo de cosas).
Un ejemplo:
http://www.cristalab.com/tutoriales/...cargas-con-php
Un saludo,