如何将文件从Sftp服务器下载到本地机器
问题描述:
我必须从Sftp服务器下载文件到本地机器。我正在使用phpseclib创建连接。它与Sftp服务器连接。但我必须从服务器下载一个文件到本地机器。我怎样才能做到这一点。我正在使用此代码将dummy.txt从远程服务器下载到本地计算机。请帮助如何将文件从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)
{
$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";
}
}
哦,不!您的Enter键似乎卡住了! – 2015-02-24 08:17:19
本机是运行php脚本还是在单独的服务器上运行? – jeroen 2015-02-24 08:21:35
这是本地机器。 – Rupzz 2015-02-24 08:23:35