Bug #67009 [Opn->Fbk]: ftp:// stream wrapper doesn't work with Microsoft FTP Service

From: Date: Wed, 17 Feb 2021 15:24:35 +0000
Subject: Bug #67009 [Opn->Fbk]: ftp:// stream wrapper doesn't work with Microsoft FTP Service
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232223@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67009&edit=1 ID: 67009 Updated by: cmb@php.net Reported by: vosa at binaryparadise dot com Summary: ftp:// stream wrapper doesn't work with Microsoft FTP Service -Status: Open +Status: Feedback Type: Bug Package: Streams related Operating System: debian, solaris PHP Version: Irrelevant -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: I cannot reproduce this with PHP-7.4. Is this still an issue for you with any of the actively supported PHP versions[1]? [1] <https://www.php.net/supported-versions.php> Previous Comments: ------------------------------------------------------------------------ [2014-04-03 11:55:09] vosa at binaryparadise dot com Description: ------------ --- From manual page: http://www.php.net/wrappers.ftp --- Hi, I have some troubles with getting list of files from Microsoft's FTP server (Microsoft FTP Service) using ftp:// stream wrapper. There is difference in output, when trailing slash is used or not. I didn't see this problem, when other FTP server (i.e. pure-ftpd) is used. I tried scan directory with scandir() function, but I get same output using readdir(). See test script. There is a big problem to get list of files recursively. Directories with backslashes are incorrect and testing functions (like file_exists, is_dir, is_file) doesn't consider those paths correct. This problem occured even with DirectoryIterator with or without trailing slash. Test script: --------------- # ftp folder structure: # /test_folder # dir1 # file1 # dir2 # file2 $path = 'ftp://user:password@192.168.1.1/test_folder/'; print "with trailing slash:\n"; foreach(scandir($path) as $file) { print "$file\n"; } print "without trailing slash:\n" $path = substr($path, 0, -1); foreach(scandir($path) as $file) { print "$file\n"; } Expected result: ---------------- with trailing slash: dir1 dir2 without trailing slash: dir1 dir2 Actual result: -------------- with trailing slash: dir1 dir2 without trailing slash: test_folder\dir1 test_folder\dir2 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=67009&edit=1

« previous php.bugs (#232223) next »