|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2005-06-06 01:52 UTC] anil at saog dot net
Description:
------------
using fopen function for ftp connections on default port (21) without declaring port in function, brings an strange error;
Reproduce code:
---------------
$handle = fopen("ftp://..@62.75.202.32/bug.txt", "r");
$oldContent = fread($handle,5000000);
fclose($handle1);
Expected result:
----------------
as you see port is default (21) and not declared in function, this code gives error;
"failed to open stream: FTP server reports 220"
as you know 220 means connection accepted, and it is not an error. But if you change the remote port (for example 2122) and/or declare it in function, there will be no problem;
$handle = fopen("ftp://..@62.75.202.32:2122/bug.txt", "r");
or if you can't change the remote port;
$handle = fopen("ftp://..@62.75.202.32:21/bug.txt", "r");
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 15:00:02 2025 UTC |
I got the same problem, on a server.(passive supported) "failed to open stream: FTP server reports 220 Serv-U FTP Server v6.0 for WinSock ready..." At this point, 'result' variable worth '220' ftp_fopen_wrapper.c changing line 181 if (result > 299 || result < 200) { to if ((result > 299) || (result < 200)) { changes the error in "failed to open stream: Address family not supported by protocol"