Typically, what you do is link to a PHP script like so: download.php?file=myfile.mp3
Then, you output the file using PHP:
$get = basename($_GET['file']);
$path = 'downloads/'; // path to dir where files are located
header ('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header ('Content-Type: application/octet-stream');
header ('Content-Length: ' . filesize($path.$get));
header ("Content-Disposition: attachment; filename=\"$get\"");
$fp = @fopen($path.$get,'rb');
while(!feof($fp)) {
echo fgets($fp, 4096);
}
fclose($fp);