Para descargar un archivo sin que haya una url que lleve a el y que este archivo este situado en la zona privada del servidor
este codigo es util,
Código PHP:
$filename = "path completo al archivo/archivo.lo que sea";
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Type: application/x-zip-compressed");
header("Content-Disposition: attachment; filename=".basename($filename).";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
espero que os sirva