Phoinix Скорее ты не понял ответа, неужели я так запутано все написал?
Phoinix:
Вопрс сотоит в том, что бы не показывать реальное расположение файла, для скачки...
я же и говорю, пользователю мы даем не ссылку на сам файл, а ссылку на пхп-файл, отвечающий за скачивание. Реальное расположение файла нигде не светится. Я делал похожую фигню, и файлы у меня вообще лежат в невидимой из веба директории. 
Phoinix:
Скрипту вообще все-равно, скачал "пипл" файл или не скачал, он просто перепишет файл куда надо, отдаст ссылку пользователю
это что за глупости? зачем копировать файлы?  Скрипт отдает не ссылку на файл, а контент файла.
чтобы не начинать тут флейм, специально для тех кто в танке, приведу готовый код:
 $url = trim(preg_replace("/\\.+/","",$_SERVER[\'REQUEST_URI\']));
 if ($url[strlen($url)-1]<>\'/\') {
     $url .= \'/\';
 }
 $downloads_path = \'/home/sitename/files/\';
 preg_match ( \'/download\\/(\\w{1,20})\\//isU\', $url , $matches);
 $file = $matches[1];
 $filename = find_file($file, $downloads_path);
 if ($filename === false) {
     header("location: /error/404/");
 }
 header("Content-Type: application/force-download\\r\\n");
 header("Content-Transfer-Encoding: binary\\r\\n");
 header("Content-Length: ".filesize($downloads_path.$filename));
 header("Content-Disposition: attachment; filename=".$filename."\\r\\n");
 readfile($downloads_path.$filename);
    function find_file($file, $dir) {
        $dp=opendir($dir);
        if (!$dp) {
            trigger_error("Error opening directory for reading", E_USER_ERROR);
        }
        $patern = \'/(\'.$file.\'\\-\\d{4}\\-\\d{2}\\-\\d{2}\\.zip)/isU\';
        while (!(($de=readdir($dp))===FALSE))
        {
            if (preg_match ( $patern, $de , $matches))
            {
                return $matches[1];
            }
        }
        return false;
    }
$downloads_path = \'/home/sitename/files/\';  - тут лежат файлы, имя файл состоит из названия и даты, например hardcore_20040916.zip, скрипт получает ссылку /download/hardcore/  и выдает нужный файл.