Labels

Labels

Saturday 22 August 2015

How to Download File from SFTP Server to Local Machine

How to Download File from SFTP Server to Local Machine




File Transfer Protocol (FTP) is a popular method of transferring files between two remote systems. SFTP, which stands for Secure File Transfer Protocol, or SSH File Transfer Protocol, is a separate protocol packaged with SSH that works in a similar way over a secure connection.




SFTP encrypt commands and data both, preventing passwords and sensitive information from being transmitted in the clear over a network. The advantage is the ability to leverage a secure connection to transfer files and traverse the filesystem on both the local and remote system.


In almost all cases, SFTP is preferable to FTP because of its underlying security features and ability to piggy-back on an SSH connection. FTP is an insecure protocol that should only be used in limited cases or on networks you trust.


Although SFTP is integrated into many graphical tools, this guide will demonstrate how to use it through its interactive command line interface.


A download involves the receipt of a file copied from a remote network location. Often, a person downloads files to their personal computer from a remote server computer. In Microsoft email networks, for example, people download their email from an Exchange server to their Outlook client.


Transferring Remote Files to the Local System:
If we would like download files from our remote host, we can do so by issuing the following command:


get remoteFile

Fetching /home/demouser/remoteFile to remoteFile

/home/demouser/remoteFile                       100%   37KB   36.8KB/s   00:01

As you can see, by default, the "get" command downloads a remote file to a file with the same name on the local file system.


We can copy the remote file to a different name by specifying the name afterwards:

get remoteFile localFile

The "get" command also takes some option flags. For instance, we can copy a directory and all of its contents by specifying the recursive option:

get -r someDirectory


We can tell SFTP to maintain the appropriate permissions and access times by using the "-P" or "-p" flag:
get -Pr someDirectory


Download file from Sftp server to local machine:

I have to download file from Sftp server to local machine. Then I am creating a connection by using the phpseclib. It is connected with Sftp server. But I have to download a file from server to local machine. In this case I am using the below code to download dummy.txt from remote server to local machine.

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() . "rn";
   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";
   }

}

No comments:

Post a Comment