douchuo1963
2017-01-14 11:23
浏览 816
已采纳

使用PHP将SFTP文件夹中的所有文件下载到本地文件夹

I try to move all files from SFTP folder to a local folder.

I use the following script:

$connection = ssh2_connect('x.x.x.x', 22);

if (!ssh2_auth_password($connection, 'User_login', 'User_Pass')) {
    throw new Exception('Impossible de ce connencter.');
}

if (!$sftp = ssh2_sftp($connection)) {
    throw new Exception('Impossible de ce connencter.');
}

$files = array();
$dirHandle = opendir("ssh2.sftp://$sftp/01_Folder/");

while (false !== ($file = readdir($dirHandle))) {
    if ($file != '.' && $file != '..') {
        $files[] = $file;
    }
}

Thanks Guys.

图片转代码服务由CSDN问答提供 功能建议

我尝试将所有文​​件从SFTP文件夹移动到本地文件夹。

我使用以下脚本:

  $ connection = ssh2_connect('xxxx',22); 
 
if(!ssh2_auth_password($ connection,'User_login','  User_Pass')){
 throw new Exception('Impossible de ce connencter。'); 
} 
 
if(!$ sftp = ssh2_sftp($ connection)){
 throw new Exception('Impossible de ce connencter  。'; 
} 
 
 $ files = array(); 
 $ dirHandle = opendir(“ssh2.sftp:// $ sftp / 01_Folder /”); 
 
while(false!==(  $ file = readdir($ dirHandle))){
 if($ file!='。'&& $ file!='..'){
 $ files [] = $ file; 
} \  n} 
   
 
 

谢谢大家。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • doubingling4706 2017-01-16 05:32
    已采纳

    You can run rsync from Php using the exec function. It will ask you for user name and password of the remote server. You can bypass that using the SSHPass command line tool. It allows non interactive login. The following command runs rsync with sshpass:

    rsync --rsh="sshpass -p myPassword ssh -l username" server.example.com:/var/www/html/ /backup/
    

    The command can be run from Php using the exec function

    评论
    解决 无用
    打赏 举报
  • 查看更多回答(2条)

相关推荐 更多相似问题