A port of the original https://github.com/phpcommunity/phptestfest-php-src/pull/148 pull
request, created earlier during #PHPTestFest (User Group: PHP-WVL & PHPGent).
Expands the existing FTP delete command test with coverage for deletion of
non-existing files (which returns a 550 status code).
The tests can sometimes fail because it chooses a passive port for ftp that
is already in use. This makes the test attempt multiple times to find a free
port.
Open data stream after receiving PASV reply, before sending the
main request.
Included test cases for opendir() with ftp:// and ftps:// wrappers.
Test cases re-use ext/ftp/tests/server.inc
Conflicts:
ext/standard/ftp_fopen_wrapper.c
the idea behind ftp_nb_get is for it to be followed by multiple calls
to ftp_nb_continue in order to download a file piece-by-piece.
As such, it's unwise to close the stream used to write the downloaded
data to when the file hasn't been completely downloaded within the first
call to ftp_nb_get.
This regression was added in a93a462dce
and this patch restores the behavior that was seen pre-patch.