PHP ftp_nlist()返回bool(false),即使是被动模式和不同的用户

PHP ftp_nlist()返回bool(false),即使是被动模式和不同的用户,php,ftp,Php,Ftp,我目前正在制作一个脚本,该脚本将备份我服务器上的文件,但有一个重大问题。大约30分钟前,我能够使用相同的脚本连接,列出我的文件,然后下载它们。但是现在当我尝试连接时,它会连接,就是这样,我不能ftp\u nlist文件,因为当我连接时,它只返回bool(false)。我在其他一些帖子上读到,我应该尝试使用ftp\u pasv将被动模式设置为true,但它没有改变任何事情。我也尝试过其他用户做同样的事情。我尝试在filezilla上使用凭据,它已连接并允许我下载,没有任何问题。任何帮助都将不胜感激

我目前正在制作一个脚本,该脚本将备份我服务器上的文件,但有一个重大问题。大约30分钟前,我能够使用相同的脚本连接,列出我的文件,然后下载它们。但是现在当我尝试连接时,它会连接,就是这样,我不能
ftp\u nlist
文件,因为当我连接时,它只返回
bool(false)
。我在其他一些帖子上读到,我应该尝试使用
ftp\u pasv
将被动模式设置为true,但它没有改变任何事情。我也尝试过其他用户做同样的事情。我尝试在filezilla上使用凭据,它已连接并允许我下载,没有任何问题。任何帮助都将不胜感激,我将在下面发布代码

PHP:

连接到FTP

$ftp_server = "Hidden for security";
$ftp_user = "Hidden for security";
$ftp_pass = "Hidden for security";
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 
ftp_pasv($conn_id, true);
在FTP上获取文件名

$contents = ftp_nlist($conn_id, ".");
$rm = array(0, 1, 2, 3,);
foreach($rm as $value) {
    unset($contents[$value]);
}
$contents = array_values($contents);
获取本地主机上的文件名

$dir = scandir("images/");
$rmval = array(0, 1, 2);
foreach ($rmval as $val) {
    unset($dir[$val]);
}
$dir = array_values($dir);
尝试登录

if (ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    //echo "Connected";
    $counter = 0;
    var_dump($contents);

    /*foreach ($ftp_content as $file) {
        ftp_get($conn_id, "images/" . $ftp_content[$counter], $ftp_content[$counter], FTP_BINARY);
        $counter++;
    }*/
} else {
    echo "Couldn't Connect";
}
关闭FTP连接

ftp_close($conn_id); 

问题是,在建立到FTP服务器的连接之前,我试图列出我的文件。在
$conn\u id
之后添加
$login\u result=ftp\u login($conn\u id,$ftp\u user,$ftp\u pass)
修复了我的问题。现在我可以评估它是真是假,并根据结果运行不同的代码