在php中ftp_rawlist获取时服务器返回false解决方法
在使用ftp_rawlist在总是返回false时,在获取文件列表前,使用主动模式设置:
ftp_pasv($conn_id, true);
//host是要连接的服务器,port是服务器的端口号,timeout是连接超时时间限制。通常我们使用默认的port(21)和timeout(90秒)。例如我想连我自己电脑上的FTP,就可以这样 1. 连接服务器 $conn_id=@ftp_connect("47.104.65.xxx","21") or die("不能连接指定的服务器"); //如果连接失败的话,程序就会告诉我”不能连接指定的服务器”.这里需要注意的是host前不要加”ftp://”,末尾也不要加”/”,下面的写法是错误的: 2,登陆服务器 // ftp_login ( resource ftp_stream, string username, string password) //ftp_stream即为我们上面已经获得的$conn_id,如果这里的用户名和密码是正确的,我们就可以登人给定的FTP连接。我的FTP服务器已经有一个帐号”iwind”,密码是”iwind”: ftp_login($conn_id,"登录账号","密码") or die("登陆不了,请确认你的用户名和密码"); // 匿名登录 通常的FTP都设置有匿名帐号,你不必需要密码,用anonymous即可等入: // ftp_login($conn_id,”anonymous”,””); 3 获取文件列表 //array ftp_rawlist ( resource ftp_stream, string directory) // 这步很重要 如果没有选择模式,返回false时,可以加上这个 ftp_pasv($conn_id, true); // 用ftp_rawlist 获取文件列表 $filelist=ftp_rawlist($conn_id,'.'); //打印列表 foreach($filelist as $file){ echo "$file"; }
本文来源:功夫码(gongfuma.com)
声明:本文系功夫码原创稿件,版权属[功夫码 gongfuma.com]所有。
未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:功夫码",违者将依法追究责任。