如何使ftp_nlist()php函数正常工作?

时间:2019-07-21 13:02:59

标签: php ftp passive-mode

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

首先,函数ftp_nlist()返回false,我在Internet上进行了搜索,发现由于防火墙或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, ".");”上,没有列出文件。

1 个答案:

答案 0 :(得分:0)

ftp_set_option($ftpconn, FTP_USEPASVADDRESS, false);

此代码行在设置连接的无源性之前 ftp_pasv($ftpconn, true);

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

相关问题