From: wowkise at gmail dot com Operating system: Linux PHP version: Irrelevant Package: FTP related Bug Type: Feature/Change Request Bug description:ftp_dir_exists()
Description: ------------ I think PHP needs proper way to check if the FTP directory exists, right now there is no correct way to do it other then using ftp_chdir/is_dir and check the results which produce E_WARNING if the directory doesn't exists. there is also is_dir() function which require that you re-authenticate just to check if the directory exists and if you have to check multiple directories you have to re-authenticate each time. i hacked this function in "test script" just to bypass the E_WARNING Test script: --------------- function dir_exists2($conn, $dir) { $orginal = $dir; if ( !$conn ) return false; if ( substr($dir, -1) === '/' ) $dir = substr($dir, 0, strlen($dir)-1); $dir = substr($dir, 0, strlen($dir)-strlen(strrchr($dir,'/'))); $res = ftp_nlist($conn, '-dF '. $dir); if ( isset($res) AND is_array($res) ) { foreach ($res as $key => $value) { if ($value === $orginal) return true; } } return false; } Expected result: ---------------- true if directory exists and false if it does not exists. -- Edit bug report at https://bugs.php.net/bug.php?id=64024&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=64024&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=64024&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=64024&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=64024&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=64024&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=64024&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=64024&r=needscript Try newer version: https://bugs.php.net/fix.php?id=64024&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=64024&r=support Expected behavior: https://bugs.php.net/fix.php?id=64024&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=64024&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=64024&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=64024&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=64024&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=64024&r=dst IIS Stability: https://bugs.php.net/fix.php?id=64024&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=64024&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=64024&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=64024&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=64024&r=mysqlcfg