|
Posted by Rory Browne on 09/28/97 11:18
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@isp-software.de> 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@isp-software.de> 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@isp-software.de> 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
>
>
Navigation:
[Reply to this message]
|