我必须将文件从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";
}
}
请帮我解决。
答案 0 :(得分:1)
嗯,你没有在任何地方$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";
}
}