Header ("Content-Type: application/octet-stream");
Header ("Content-Length: ".filesize($total));
Header("Content-Disposition: attachment; filename=$filenames[$i]");
readfile($total);
Replace $total with the full path to your file and $filenames with the name of the file as you would like the downloader to see it
and thats all. It doesn't work well with secure conneciton but it's Gates fault not mine 🙂))))