PHP ftp_nlist () возвращает false даже в пассивном режиме - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь подключиться к ftp_nlist () серверу со следующим кодом:

$ftpStream = ftp_connect($host,$port);

if($ftpStream!=false)
{
    echo 'ftp_connect() worked </br>';
    echo 'Hostname = ' . $host . '</br>';
    $login=ftp_login($ftpStream,$username,$password);
    if($login!=false)
    {
        echo 'Logged in </br>';
        $pasvMode = ftp_pasv($ftpStream, true);
        if($pasvMode!=false)
        {
            echo 'Passive mode </br>';
            $nlist=ftp_list($ftpStream,'.');
            var_dump($nlist);
        }

        else
            echo 'ftp_pasv() failed </br>';
    }
    else
         echo 'Failed to log in </br>';
}
else
    echo 'ftp_connect() failed </br>';

Я успешно подключился и вошел в систему, пассивный режим также активирован, но ftp_nlist () по-прежнемувозвращая ложь.Знаете ли вы, если FTP-сервер может запретить некоторые команды (например, ftp_nlist (), ftp_rawlist () ...), потому что я могу получить все из FileZilla, и ничего из PHP.

У меня были некоторыеотвечает, но я не смог решить проблему:

Я могу подключиться к FTP-серверу с помощью PHP, но не могу ftp_nlist даже в пассивном режиме

Iне могу работать на FTP-сервере с PHP, соединение работает, но я не могу получить файлы или другие вещи.Работает с FileZilla

Спасибо

1 Ответ

0 голосов
/ 24 мая 2018

Второй параметр используется для включения или выключения пассивного режима.Поскольку вы использовали false, пассивный режим отключен.Измените его на:

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