0

我想从服务器的目录中列出文件(.txt 中的日志文件),但我无法让 ftp_nlist() 函数工作。

首先,函数ftp_nlist()返回false,我在网上搜索,发现由于防火墙或NAT路由器必须启用被动模式,我启用了被动模式。

编码 :

include("/var/www/luvinsastroi.mtxserv.com/public_html/logs/password_protect.php");
include 'config.php';
$ftp_connection = ftp_connect($host,$port);

ftp_login($ftp_connection, $user, $password);
if ($passiveftp == 1) {
    ftp_pasv($ftp_connection, true);
}
echo "<b>Folder:</b> ".$path."<br>";
if (ftp_chdir($ftp_connection, "".$path."")) {
    echo "Successfully accessed log folder.";
} else { 
    echo "Couldn't access log folder";
}
$contents = ftp_nlist($ftp_connection, ".");

我希望列出 $path 文件夹中包含的所有文件(日志文件)并且没有任何附加内容(没有被动模式),并且在被动模式下我得到了错误:Warning: ftp_nlist(): php_connect_nonb() failed: Operation now in progress (115)

行指针在“ $contents = ftp_nlist($ftp_connection, ".");”上,并且没有列出任何文件。

4

1 回答 1

0
ftp_set_option($ftpconn, FTP_USEPASVADDRESS, false);

这行代码在设置连接的被动之前 ftp_pasv($ftpconn, true);

解决了我的问题,如果不是防火墙问题,也许对你来说也是一样的。

于 2019-12-24T11:48:39.567 回答