如何将文件从Sftp服务器下载到本地机器


How to download file from Sftp server to local machine

我必须从Sftp服务器下载文件到本地机器。我正在使用phpseclib创建一个连接。它与Sftp服务器相连。但我必须从服务器下载一个文件到本地机器。我怎么能那样做。我正在使用此代码将dummy.txt从远程服务器下载到本地机器。请帮助

public function startProcess() {
    $sftp = new Net_SFTP('www.domain.com');
    if (!$sftp->login('username', 'password')) {
        exit('Login Failed');
    }
    else {
        echo "connected";
    }
    echo $sftp->pwd() . "'r'n";
    downloadfiles('/path to server/dummy.txt');      
}
public function downloadfiles($filename)
{
    if($filename)
    {
        $remote=file_get_contents($filename);
        $local_file_path='localpath/adobe.txt';
        file_put_contents($local_file_path,$remote);
    }
    else
    {
        echo "error download files";
    }
}

请帮我找出来。

例如,您不会在任何地方执行$sftp->get()

以下是您的代码的重新工作版本,可以下载:

global $sftp;
public function startProcess() {
    $sftp = new Net_SFTP('www.domain.com');
    if (!$sftp->login('username', 'password')) {
        exit('Login Failed');
    }
    else {
        echo "connected";
    }
    echo $sftp->pwd() . "'r'n";
    downloadfiles('/path to server/dummy.txt');      
}
public function downloadfiles($filename)
{
    if($filename)
    {
        $local_file_path='localpath/adobe.txt';
        $sftp->get($filename, $local_file_path);
    }
    else
    {
        echo "error download files";
    }
}