note 56304 added to function.header
| From: | daves at datriware dot com | Date: | Tue, 30 Aug 2005 08:16:25 +0000 |
| Subject: | note 56304 added to function.header | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-94370@lists.php.net to get a copy of this message | ||
If you want to force download large files, you will not fall into memory_limit with this script :
if (!is_file($file)) { die("<b>404 File not found!</b>"); }
$len = filesize($file);
$filename = basename($file);
$file_extension = strtolower(substr(strrchr($filename,"."),1));
header('Content-type: application/force-download');
header('Pragma: public');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Disposition: attachment; filename="' . $filename .
'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.$len);
header('Location: '.$file);
$chunksize = 1*(1024*1024); // how many bytes per chunk
$buffer = '';
$handle = fopen($file, 'rb');
if ($handle === false) {
die("Handle not received");
}
while (!feof($handle)) {
$buffer = fread($handle, $chunksize);
echo $buffer;
flush();
}
exit;
----
Manual Page -- http://www.php.net/manual/en/function.header.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+56304
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+56304&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+56304&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+56304&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+56304&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+56304&report=yes&reason=non-english
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+56304&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+56304&report=yes
Search -- http://master.php.net/manage/user-notes.php