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

问题描述 投票:0回答:1

我想从服务器列出目录中的文件(.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, ".");”上,没有列出文件。

php ftp passive-mode
1个回答
0
投票
ftp_set_option($ftpconn, FTP_USEPASVADDRESS, false);

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

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

© www.soinside.com 2019 - 2024. All rights reserved.