This is already fixed in CVS. The entire example is bogus,
it should not be using filesize($filename) either.
Here's what's in CVS (the manual will be rebuilt sometime
in the next week):
<?php
$handle = fopen ("http://www.example.com/", "rb");
$contents = "";
do {
$data = fread($handle, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
fclose ($handle);
?>
And the whole point is to demonstrate the following note:
"When reading from network streams or pipes, such as those
returned when reading remote files or from popen() and
proc_open(), reading will stop after a packet is available.
This means that you should collect the data together in
chunks as shown in the example below."
Have fun :)
Regards,
Philip
On Sun, 6 Jul 2003, Daniele Baroncelli wrote:
> Hi guys,
> I am trying to read from a remote file, by using an example reported at the
> manual page for the fread function:
>
> <?php
> $handle = fopen ("http://www.php.net/", "rb");
> $contents = "";
> do {
> $data = fread ($handle, filesize ($filename));
> if (strlen($data) == 0) {
> break;
> }
> $contents .= $data;
> }
> fclose ($handle);
> ?>
>
>
> Unfortunately this example is incorrect, as it gives me a parse error. The
> mistake should be in the fact that there is a "do" keyword without a
> "while".
> Would anyone suggest me the correct version?
>
> Cheers
>
> Daniele
>
>
>
>
> --
> 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