Re: [? BUG ?] weird thing; downloading from a php script stops at exactly 2.000.000 bytes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Check  out the readfile manual page. Someone made a user-contributed
comment about that.

As it happens they came up with pretty much the same solution as I did.

On 6/10/05, Catalin Trifu <catalin@xxxxxxxxxxxxxxx> wrote:
>         Hi,
> 
>    It can't be a memory limit problem. The server ha 2GB memory,
> and in PHP each script can consume up to 64MB. On php4, apache 1.3 and
> same configs readfile works without fread tricks.
> 
> C.
> 
> 
> Rory Browne wrote:
> > It's probably something to do with maximum memory, or something like
> > that, but taking into account that your method is stretching the
> > resources, fopen/fread may be a better solution.
> >
> > I'd be curious to see the benchmarked differences  - but couldn't be
> > bothered at this minute doing the benchmarking atm.
> >
> > On 6/10/05, Catalin Trifu <catalin@xxxxxxxxxxxxxxx> wrote:
> >
> >>   Hi,
> >>
> >>  Tried it and it works indeed, but it's quite annoying to make such tricks
> >>and is not the best solution either; fopen and fread are "expensive".
> >>   I can't say if it's a bug in PHP or some config option.
> >>
> >>
> >>C.
> >>
> >>
> >>Rory Browne wrote:
> >>
> >>>I've never came across that problem, but try this
> >>>
> >>>function output_file($filename){
> >>>$fp = fopen($filename, "r");
> >>>while(!feof($fp)){
> >>>  echo fread($fp, 1024000);
> >>>}
> >>>}
> >>>
> >>>On 6/9/05, Catalin Trifu <catalin@xxxxxxxxxxxxxxx> wrote:
> >>>
> >>>
> >>>>Hi,
> >>>>
> >>>>  I installed php5 using the configue below. I tried with apache2 as well and same things.
> >>>>
> >>>>'./configure' '--prefix=/usr/local/php5' '--with-apxs=/usr/local/apache/bin/apxs' '--disable-cgi'
> >>>>'--with-config-file-path=/etc/php5' '--with-dom' '--with-gd' '--enable-sockets' '--enable-exif'
> >>>>'--with-freetype2' '--with-freetype-dir=/usr/include/freetype2' '--enable-gd-native-ttf'
> >>>>'--with-zlib-dir=/usr' '--with-curl' '--with-curlwrappers' '--enable-ftp' '--with-mysql=/usr'
> >>>>'--with-xsl' '--with-libxml-dir=/usr'
> >>>>
> >>>>  I have a script which generates a temporary catalog file, which is generated correctly having
> >>>>4.7MB on disk.
> >>>>  Then I push up the wire with readfile($filname):
> >>>>
> >>>>  header("Content-Type: text/csv");
> >>>>  header("Content-Disposition: attachment; filename=somfilename.csv");
> >>>>  header("Content-Length: ". filesize($file));
> >>>>
> >>>>  readfile($file);
> >>>>
> >>>>  I also tried with fopen.
> >>>>  If I try to download the file directly from apache it works, all 4.7MB are received.
> >>>>
> >>>>  As expected the browser starts the download and reports it is expecting a file of 4.7MB.
> >>>>  However, the download stops at 2.000.000 bytes no matter what browser I use (normally i use
> >>>>Firefox on Linux), no matter if php runs on apache2 or apache1.3
> >>>>
> >>>>  Is there some php config option I missed ?
> >>>>  Could this be from curlwrappers ?
> >>>>  Where could this come from ?
> >>>>
> >>>>
> >>>>Thanks,
> >>>>Catalin
> >>>>
> >>>>--
> >>>>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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux