note 61904 added to function.symlink
| From: | anythingatthedomainwilliamfrantz dot com at osu1 dot php dot net | Date: | Wed, 15 Feb 2006 01:15:36 +0000 |
| Subject: | note 61904 added to function.symlink | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-103725@lists.php.net to get a copy of this message | ||
Olszewski_marek makes a good suggestion, but the readfile() function can also be used to obscure
file downloads from end users.
/* Setup the file that will be sent */
$downloadDir = "some/secret/directory/";
$file = "theFileName.dat";
/* Required for IE, otherwise Content-disposition is ignored */
if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression',
'Off');
/* Output HTTP headers that force "Save As" dialog */
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\\"$file\\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".@filesize($downloadDir.$file));
/* Prevent the script from timing out for large files */
set_time_limit(0);
/* Send the entire file using @ to ignore all errors */
@readfile($downloadDir.$file);
/* Exit immediately so no garbage follows the file contents */
exit;
----
Server IP: 216.194.113.175
Probable Submitter: 64.154.93.1
----
Manual Page -- http://www.php.net/manual/en/function.symlink.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+61904
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+61904&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+61904&report=yes
Search -- http://master.php.net/manage/user-notes.php