Команда ftp_nlist не работает - PullRequest
       13

Команда ftp_nlist не работает

16 голосов
/ 22 октября 2009

Я использую следующий код & darr; подключиться к ftp серверу и получить список файлов. Он работает нормально на моей локальной машине (Fedora 11), но не на производстве (под управлением Ubuntu), где метод ftp_nlist возвращает false.

$ftpInfo = array('directory' => 'somewebsite.com',
                 'user' => 'someuser',
                 'password' => 'somepass',
                 'port' => 21,
                 'timeout' => 30);
$connectionId = ftp_connect($ftpInfo['directory'], 
                            $ftpInfo['port'], 
                            $ftpInfo['timeout']);

$loginResult = ftp_login($connectionId, $ftpInfo['user'], $ftpInfo['password']);

$files = ftp_nlist($connectionId, '.');

var_dump($files);
ftp_close($connectionId);

Возвращает массив файлов на моем компьютере и false при работе.

Что особенно раздражает, так это то, что в обоих случаях ему удается подключиться, войти и успешно.

var_dump($loginResult);

возвращает

bool(true)

1 Ответ

42 голосов
/ 23 октября 2009

Оказывается, это было связано с настройкой брандмауэра сервера. После входа переключился в пассивный режим, и он работал нормально.

ftp_pasv($connectionId, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...