[UPHPU] RE: PHP indirect download
davidsmith at byu.net
Wed Feb 4 07:37:54 MST 2004
I also recommend that you create a symlink
ln -s download.php download
Then add a line to the .htaccess file in the same directory, which
forces PHP to interpret that download symlink:
Instead of passing the file name like this: "download?myfile.txt", make
it look like a directory:
Then, use the $_SERVER['PATH_INFO'] variable in download.php to get the
filename. This makes it quite transparent to the end-user and obeys Tim
Berners-Lee's rule that "cool URLs don't change".
Jonathan Gale wrote:
> It's a pretty trivial task to have a PHP script serve up a file from
> another (non HTTP accessible location). Something like this would work:
> $filepath = '/path/to/files';
> $file = $_GET['file'];
> Header('Content-type: application/octet-stream');
> The trick however is sending the correct headers so the download works
> correctly in all browsers.
> This header set will generally work:
> header("Pragma: public");
> header("Expires: 0");
> header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
> header("Content-Type: application/force-download");
> header("Content-Type: application/octet-stream");
> header("Content-Type: application/download");
> header("Content-Disposition: attachment;
> header("Content-Transfer-Encoding: binary");
> header("Content-Length: ".filesize($filename));
> Some good reference URLs:
> Good luck.
> Kenneth Burgener wrote:
>> I would like to make it so that users do not have a link to directly
>> access a downloadable file. I want the script to push the file. I
>> see websites doing this all the time. Any suggestions?
>> Normal download:
>> What they look like:
>> Thanks in advance.
More information about the UPHPU