If someone needs an ASCII size, they need to scream and file a bug 
report and then I'll implement it. This function has not been working 
properly for ages and no-one complained. This way at least it will work 
consistently and make sense. Optional ASCII mode size will require a 
bloat (like an optional parameter) :(.

Vlad



[EMAIL PROTECTED] wrote:

>On Mon, 18 Mar 2002, Joseph Tate wrote:
>
>>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.
>>
>
>That sounds like a good idea to me. I can't think of a way why it would be 
>useful, but it doesn't hurt either. I'd go for the ftp_size() with default 
>BINARY, and optional ASCII mode size. (And it's fine with me to merge it)
>
>regards,
>Derick
>
>>Joseph
>>
>>>-----Original Message-----
>>>From: Vlad Krupin [mailto:[EMAIL PROTECTED]]
>>>Sent: Monday, March 18, 2002 4:15 PM
>>>To: PHP Developers Mailing List
>>>Cc: [EMAIL PROTECTED]
>>>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
>>>
>
>-----------------------------------------------------------------------
>              PHP: Scripting the Web - [EMAIL PROTECTED]
>                All your branches are belong to me!
>            SRM: Script Running Machine - www.vl-srm.net
>-----------------------------------------------------------------------
>




-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to