| 
	
 | 
 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] 
 |