|
Posted by Richard Lynch on 01/31/05 05:00
adrian zaharia wrote:
> Hi,
>
> I am testing the following code that pushes a file to the browser
> (Apache 1.3 + PHP 4.3.8 but tested also under several other configs)
>
> Try it with a BIG test1.zip (e.g. 100M in size)
>
> <?php
> ignore_user_abort();
> set_time_limit(0);
>
> session_save_path('/tmp');
> session_start();
>
> $sFileName = 'test1.zip';
> $sFileDir = '/var/www/html/';
>
> header("Content-Type: application/octet-stream");
> header("Content-Disposition: attachment;filename=\"" . $sFileName . "\"");
> header("Content-Length: " . filesize($sFileDir . $sFileName));
> header('Pragma: cache');
> header('Cache-Control: public, must-revalidate, max-age=0');
> header('Connection: close');
> header('Expires: ' . date('r', time()+60*60));
> header('Last-Modified: ' . date('r', time()));
>
> $oFp = fopen($sFileDir . $sFileName, "rb");
> $iReadBufferSize = 512;
> while (!feof($oFp)) {
> echo fread ($oFp, $iReadBufferSize);
> }
> fclose ($oFp);
> exit;
>
> ?>
>
> What i discovered is that if i keep the 2 session initialisation functions
> the script will work ONLY if the allocated memory is greater than the size
> of the tested file. If i remove the session functions the script works
> fine
> even if the test1.zip file is very big (hundreds of Megs)
>
> Is it something i do wrong? Or is a bug and i should report it?
>
> I mention that I NEED the 2 functions so removing them is not THE
> solution.
> Nor setting in php.ini a huge memory limit :(
This naive reader would suggest filing a bug report...
At least, *I* don't think it should behave this way.
http://bugs.php.net
--
Like Music?
http://l-i-e.com/artists.htm
Navigation:
[Reply to this message]
|