Qualche anno fa avevo il tuo stesso problema è l'ho risolto creandomi lo script qui sotto, nel mio caso mi serviva con collegamento al db, ti posto lo script per intero:
	Codice PHP:
	
include("function/connessione.php");
    $conn = connetti();
    $query = "SELECT cartella,nome_file FROM download WHERE nome_file = '".$_REQUEST['file']."';";
    $rs = mysql_query($query,$conn) or die (mysql_error());
    if($record = mysql_fetch_array($rs))
    {
    $file_path = $record['cartella'];
    }
    disconnetti($conn);
    //procedura per il download del file
    $file_name = $_REQUEST ['file'];            //nome del file da scaricare
    $file_size = filesize ($file_path . $file_name);    //dimensione del file
    header("Content-Type: Application/octet-stream");    //forzo il browser per fare comparire la finestra di salvataggio del file
    header("Content-Disposition: attachment; filename=" . $file_name);
    header("Content Description: Download PHP");
    header("Content-Length: " . $file_size);
    $f = $file_path . $file_name;
    readfile ($f);