Yo lo hago así... igual te vale. Suerte!
Código PHP:
<?
$nombre = $_GET['nombre'];
$path = $_GET['path'];
if ( file_exists($path . $nombre) ){
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=$nombre");
header("Pragma: no-cache");
header("Expires: 0");
if ($file = fopen($path . $nombre,"r")){
while (!feof($file)){
$aux = fgets($file,4096);
echo $aux;
}
fclose($file);
}
}
?>