A obter uma pasta com o phpseclib Net SFTP.get does not work

estou a tentar aceder a um ficheiro num servidor de pastas SFTP usando o phpseclib. Mas quando tento usar $sftp->get, ele devolve false. Não sei como depurar o problema.

public function get_file_from_ftps_server()
{
    $sftp = new \phpseclib\Net\SFTP(getenv('INSTRUM_SERVER'));
    if (!$sftp->login(getenv('INSTRUM_USERNAME'), getenv('INSTRUM_PASSWORD'))) {
        exit('Login Failed');
    }

    $this->load->helper('file');           
    $root  = dirname(dirname(__FILE__));
    $root .= '/third_party/collections_get/';
    $path_to_server = 'testdownload/';
    $result = $sftp->get($path_to_server, $root);

    var_dump($result);
}

No $result, eu tenho um {[[2]} e não tenho certeza por que está acontecendo, eu li sua documentação, mas ainda não tenho certeza. Root é o diretório onde eu quero que minhas informações sejam armazenadas. Neste momento, só adicionei um julgamento.arquivo xml lá, mas também se perguntando Como posso obter vários arquivos se está no pasta.

aqui está uma imagem da estrutura do servidor:

structure

Author: Christian, 2017-11-16

2 answers

Normalmente quando uso sftp, mudo de directório e depois tento descarregar a informação.

$sftp->pwd(); // This will show you are in the root after connection.
$sftp->chdir('./testdownload'); // this will go inside the test directory.
$get_path = $sftp->pwd()
//If you want to download multiple data, use
$x = $sftp->nlist();
//Loop through `x` and then download the file using.
$result = $sftp->get($get_path); // Normally I use the string information that is returned and then download using

file_put_contents($root, $result);

// Root is your directory, and result is the string.
 3
Author: XAF, 2017-11-21 18:31:37

O método Net_SFTP.get só pode obter um único ficheiro. Você não pode usá-lo para baixar um diretório inteiro.

Se quiser transferir a pasta inteira, terá de usar um dos métodos da "lista" (Net_SFTP.nlist ou Net_SFTP.rawlist) para obter a lista de ficheiros e depois transferir os ficheiros um a um.

 1
Author: Martin Prikryl, 2017-11-16 15:16:29