RE: [PHP-DEV] FTP returns wrong file size (and a fix) - second try
| From: | Joseph Tate | Date: | Mon, 18 Mar 2002 21:25:08 +0000 |
| Subject: | RE: [PHP-DEV] FTP returns wrong file size (and a fix) - second try | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-81457@lists.php.net to get a copy of this message | ||
Would there ever be a need to get the ASCII ftp_size? If not, the go ahead,
but if there ever might be, you may want to add a parameter to ftp_size so
that it behaves like ftp_get et all. The parameter could default to BINARY.
Joseph
> -----Original Message-----
> From: Vlad Krupin [mailto:vlad@php.net]
> Sent: Monday, March 18, 2002 4:15 PM
> To: PHP Developers Mailing List
> Cc: derick@php.net
> Subject: [PHP-DEV] FTP returns wrong file size (and a fix) - second try
>
>
> Hi, this is the second try to get feedback and to make a fix to
> ftp_size() function.
> After bringing that issue up a few days back, I got response from Derick
> only with some concerns, which I'll address here.
> Please, respond or I'll just apply the patch because it makes sense to
> me and see what happens.
>
>
> First of all, ftp_size() function is broken. It will return different
> results for the same file depending on what function was called before
> it. To fix it, we have to set the mode of the ftp server session to
> BINARY rather than ASCII. It is a one-liner patch.
>
> Derick was concerned that this will change the state of the session
> without the user explicitly requesting it and we do not restore it.
> However, this is irrelevant since all the functions that depend on that
> state will set it for themselves:
> - ftp_nlist() and ftp_rawlist() already do just that - they just set the
> type to ASCII and do not restore it.
> - ftp_get(), ftp_fget(), ftp_put() and ftp_fput() require you to set the
> type explicitly
> - other functions do not depend on transfer type (except for ftp_size() ).
>
> It was an obvious oversight not to make ftp_size() set the mode before
> requesting the size of a file (I would have never imagined that the size
> of the file differs depending on whether we do 'dir' in text mode or
> binary mode... duh!)
>
> So, to wrap it up. Making that change will not affect *any* other
> functionality of the ftp extension (you are welcome to read through the
> source - I just did that) and will fix ftp_size() to consistently return
> correct results.
>
> Question: Does anybody object to putting that change in, *and* also
> merging it into the release branch? This is an obvious bug, and the fix
> doesn't affect anything else.
>
> Vlad
>
>
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php