You can create a folder that you protect with htaccess and place the files in that folder, that way users can't download the files. But then you can make PHP copy the file that that user want to download to a new folder, and add a link to that file.
Then create a script that delete all files in that folder that is older then eg. 1 hour - and create a cron job that run that script every 5 minuts.