我正在尝试使用以下代码连接到ftp_nlist()服务器:
$ftpStream = ftp_connect($host,$port);
if($ftpStream!=false)
{
echo 'ftp_connect() worked </br>';
echo 'Hostname = ' . $host . '</br>';
$login=ftp_login($ftpStream,$username,$password);
if($login!=false)
{
echo 'Logged in </br>';
$pasvMode = ftp_pasv($ftpStream, true);
if($pasvMode!=false)
{
echo 'Passive mode </br>';
$nlist=ftp_list($ftpStream,'.');
var_dump($nlist);
}
else
echo 'ftp_pasv() failed </br>';
}
else
echo 'Failed to log in </br>';
}
else
echo 'ftp_connect() failed </br>';
我已成功连接并登录,被动模式也已激活,但ftp_nlist()仍返回false。您知道FTP服务器是否可以禁止某些命令(如FTP_nlist()、FTP_rawlist()…)因为我可以从FileZilla中获取所有信息,而从PHP中什么也得不到。
我有一些答案,但我无法解决问题:
我可以用PHP连接到FTP服务器,但即使在被动模式下也不能使用FTP列表
我不能使用PHP在FTP服务器上工作,连接正常,但我不能获取文件或其他东西。它与FileZilla一起工作
谢谢你
第二个参数用于打开或关闭被动模式。因为您使用了false,所以被动模式被关闭。将其更改为:
$pasvMode = ftp_pasv($ftpStream, true);