se necesitan enviar headers especiales para ello, por lo que NO puedes volcar información a la salida del script, es decir,
no puedes hacer: echo, print ni tener un bloque html antes de las llamadas a header.
debes de verificar primero si el archivo existe y luego volcar la pagina "archivo no encontrado", en caso contrario el script devuelve el archivo, no código html