Te pongo un ejemplo de lo que hago yo:
Código PHP:
$fichero = "unfichero.zip";
header( "Content-Type: application/octet-stream");
header( "Content-Length: ".filesize(realpath($fichero)));
header( "Content-Disposition: attachment; filename=".$fichero."");
readfile(realpath($fichero));
Espero que te sirva. Uso readfile en vez de echo, para sacarlo por el navegador.