El problema puede estar aqui
Código PHP:
header("Content-type: $tipo");
Las cabeceras son muy estrictas, la manera de escribir bien esto es:
Código PHP:
header("Content-Type: ".strtolower($tipo));
suponiendo que $tipo contiene la forma
"image/jpeg", "image/jpg, "image/png", etc para imagen
"text/html", "text/xml", etc para texto plano
"x-application/pdf", "x-applicacion/doc" para documentos asociado a aplicaciones
TODAS DEBEN SER MINUCULAS a excepcion de "C" y "T" de Content-Type