Re: force download and file size issue
| From: | Rasmus Lerdorf | Date: | Thu, 03 Oct 2002 16:30:44 +0000 |
| Subject: | Re: force download and file size issue | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-118767@lists.php.net to get a copy of this message | ||
readfile()
On Fri, 4 Oct 2002, christian haines wrote:
> hi all,
>
> i have successfully created a download script to force a user to
> download, however attempting to download large files causes an error
> saying that the file cannot be found.
>
> my code >
> header("Cache-control: private");
> header("Content-Type: application/force-download; name=\"$file\"");
> header("Content-Disposition: attachment; filename=\"$file \"");
> header("Content-Transfer-Encoding: binary");
> header("Content-Length: $content_length");
> $fp = fopen($file_fullpath,"r");
> fpassthru($fp);
> fclose($fp);
> < my code
>
> this is a memory issue in the php.ini i.e. memory_limit = 8M then the
> largest file i can download is 8M
>
> is there anyway to "force" a download without having to use the system
> hungry fpassthru function?
>
> this is driving me nuts so any help would be greatly appreciated
>
> cheers
> christian
>
> ps i read the following at php.net fpassthru man page but could not make
> sense of it (it appears to be some kind of solution) >
>
> "fpassthru() works best for small files. In download manager scripts,
> it's best to determine the URL of the file to download (you may generate
> it locally in your session data if you need so), and then use HTTP
> __temporary__ redirects (302 status code, with a "Location:" header
> specifying the effective download URL).
> This saves your web server from maintaining PHP scripts running for long
> times during the file downloadn and instead the download will be managed
> directly by the web server without scripting support (consequence: less
> memory resources used by parallel downloads)..."
>