Just for your information there was a topic on this a few months ago. It definately wasn't intentional - Rasmus didn't know about it until then. On 8/17/05, Jordan Miller <jmil@xxxxxxxxxxxxxxxxxx> wrote: > turns out it's a known bug, fixed in CVS already... haven't tried the > PHP 5.1 beta release yet. > > http://bugs.php.net/bug.php?id=32970 > > > > On Aug 17, 2005, at 10:19 AM, Catalin Trifu wrote: > > > Hi, > > > > Indeed a fclose($fp) is needed (wrote it as an example :)). > > 1MB is more than enough as a buffer. If you have a 53MB file, > > what will happen then ? > > I have no idea if it's a bug or a feature. Either way I did lose > > some hair over this when I switched from PHP4 to PHP5. > > > > Catalin > > > > > > Jordan Miller wrote: > > > >> Catalin, > >> Wow, that worked great, thanks. > >> I'm curious why you set a static buffer of 1024768... why not just > >> do filesize($file), as shown at http://www.php.net/fread ? Is it > >> better for memory usage to have a potentially smaller buffer? > >> Also, you may want an fclose($fp) after the file has been > >> downloaded. > >> So is this a bug in PHP 5 or are they just purposely limiting the > >> abilities of the "readfile" command? > >> Jordan > >> On Aug 17, 2005, at 3:36 AM, Catalin Trifu wrote: > >> > >>> Hi, > >>> > >>> I've had a similar problem. The download always stopped at > >>> exactly 2.000.000 bytes. > >>> You have to work around that with: > >>> $fp = fopen($file, 'r'); > >>> if($fp) { > >>> while(!feof($fp)) { > >>> echo fread($fp, 1024768);//see the huge buffer to read into > >>> } > >>> } else { > >>> //whatever error handler > >>> } > >>> > >>> Catalin > >>> > >>> > >>> Jordan Miller wrote: > >>> > >>> > >>> > >>>> Hello all, > >>>> I am new to this list and I have searched the archives to no > >>>> avail. I am having a peculiar problem when upgrading to PHP 5: > >>>> My downloads are now limited to the first 1.9 MB of the file > >>>> in question, with the download either terminating at 1.9 MB > >>>> or seemingly continuously stuck in a downloading process at > >>>> 1.9 MB. The code in the PHP script has not changed and all > >>>> parameters that I could find that are relevant to this problem > >>>> are given below: > >>>> the minimal code needed for download: > >>>> // $file_to_read is the complete path of the file to > >>>> download > >>>> header("Content-Type: application/pdf"); > >>>> header( "Content-Disposition: inline; filename= > >>>> \"$filename \""); > >>>> $len = filesize($file_to_read); > >>>> header("Content-Length: $len"); > >>>> @readfile($file_to_read); > >>>> php.ini file for both php version 4 and 5 contain the > >>>> following settings that may be relevant: > >>>> allow_url_fopen = On > >>>> max_execution_time = 300 ; Maximum execution time of each > >>>> script, in seconds > >>>> max_input_time = 300 ; Maximum amount of time each script > >>>> may spend parsing request data > >>>> memory_limit = 8M ; Maximum amount of memory a script may > >>>> consume (8MB) > >>>> post_max_size = 200M > >>>> upload_max_filesize = 200M > >>>> Some additional details: > >>>> All files less than 1.9 MB download fine > >>>> It is not a corrupted file, because all files larger than 1.9 > >>>> MB fail after 1.9 MB > >>>> The connection is not timing out (download of 1.9 MB takes only > >>>> ~15 sec) > >>>> Mac OS X 10.3.9 with Marc Liyanage's PHP 5.0.4 > >>>> Fails for both Safari and Firefox > >>>> Fails regardless of "inline" or "attachment" > >>>> Fails regardless of "pdf" or "ppt" content-type > >>>> This PHP code ALWAYS works for Marc Liyanage's PHP 4.3.4 with > >>>> the same settings, above > >>>> What am I doing wrong??? Any other parameter in php.ini I > >>>> should have set? Any suggestions are much appreciated. > >>>> thanks, > >>>> Jordan > >>>> > >>>> > >>>> > >>> > >>> -- > >>> PHP General Mailing List (http://www.php.net/) > >>> To unsubscribe, visit: http://www.php.net/unsub.php > >>> > >>> > >>> > >>> > >>> > >>> > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php