Re: Downloading very large files
| From: | Curt Zirzow | Date: | Wed, 15 Feb 2006 03:57:59 +0000 |
| Subject: | Re: Downloading very large files | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-230403@lists.php.net to get a copy of this message | ||
On Mon, Feb 13, 2006 at 03:27:32PM -0700, Jonathan Duncan wrote:
> I have an application that delivers files to the client browser. These
> files a very large video files. 250mb+ each. I have two options: 1) I
> could have PHP deliver the file with "fread", or 2) I could have PHP
> present a link to the file. However, for security purposes, I would
> rather not have the actual files available. I suppose I could have PHP
> create temporary symbolic links on the file system that link to the files
> in question and then remove the links, thus requiring the users to go
> through an authentication process to retrieve files that are assigned to
> them.
>
> Anyway, downloading such large files causes PHP to balk with size
> limitation errors. I could increase the size limit and memory limit
> settings in "php.ini", but for file sizes that large, is it recommended?
> Are there "best practice" limits on these settings: max_input_time,
> memory_limit, max_execution_time, etc.?
Well if things are done correctly, the only thing that may become
an issue is max_execution_time. The basic logic for sending a file
with php is:
// authenticate the user (if they can download this or not)
// send headers, like content-length, content-type,
// content-disposition etc.
// set_timelimit(0); if the user is on a slow connection..
// ignore_user_abort(false); see below
// use either readfile() or fpassthru()
// if this line is executed the user has mantained a connection so
// far, so you are pretty much sure they recieved, or it is a PEBCK
// issue, you can do things like add a successful counter or
// something here.
HTH,
Curt.
--
cat .signature: No such file or directory