ID:               28907
 Updated by:       [EMAIL PROTECTED]
 Reported By:      mchizewski at yahoo dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         FTP related
 Operating System: Windows 2000 SP 3
 PHP Version:      5.0.0RC3
 New Comment:

The warning message stays, I've updated the documentation to explicitly
state that the warning message will be issued.

is_dir() and is_file *do* work on ftp:// URLs in PHP5.

if (is_dir('ftp://user:[EMAIL PROTECTED]/path/to/file')) { /* The directory
exists */ }

The is_dir() method opens a new connection for reach request so if you
plan on doing multiple FS ops, then working via the ftp extension
(using ftp_chdir() to check) is probably the best way to go.


Previous Comments:
------------------------------------------------------------------------

[2004-06-24 17:07:00] mchizewski at yahoo dot com

This is also what happens with the ftp_login function. "Returns TRUE on
success or FALSE on failure." It should not give a warning message.

------------------------------------------------------------------------

[2004-06-24 15:05:50] mchizewski at yahoo dot com

Also please note, if this is not how it should be, the PHP Manual needs
to be updated. However, I would much rather see the warning message
removed. Unless of course there is a ftp function simular to is_file or
is_dir. Right now, I see ftp_chdir the best way of finding this out
quicky.

------------------------------------------------------------------------

[2004-06-24 03:24:41] mchizewski at yahoo dot com

Description:
------------
When ftp_chdir cannot change directory, it produces the following PHP
warning.

Warning: ftp_chdir()[http://www.php.net/manual/en/function.ftp-chdir]:
Failed to change directory. in C:\Documents and Settings\(...)\ftp.php
on line 137

If ftp_chdir cannot change the directory, it should do as the
documentation says and just return false.

"Returns TRUE on success or FALSE on failure."


Reproduce code:
---------------
// code as part of a ftp class
function change_ftp_directory () {
        if ($this -> ftp_login === false) {
                return false;
        }
        $this -> change_ftp_directory = ftp_chdir ($this -> ftp_resource,
$this -> ftp_path);
        if ($this -> change_ftp_directory === false) {
                return false;
        }
        return true;
}

Expected result:
----------------
It returns false if the change directory path is bad. No PHP error
reported.

Actual result:
--------------
Warning: ftp_chdir()[http://www.php.net/manual/en/function.ftp-chdir]:
Failed to change directory. in C:\Documents and Settings\(...)\ftp.php
on line 137


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28907&edit=1

Reply via email to