ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用phpseclib Net_SFTP.get下载文件夹不起作用

2019-10-25 14:39:09  阅读:342  来源: 互联网

标签:sftp phpseclib php


我正在尝试使用phpseclib访问SFTP文件夹服务器中的文件.但是,当我尝试使用$sftp-> get时,它返回false.我完全不确定如何调试问题.

public function get_file_from_ftps_server()
{
    $sftp = new \phpseclib\Net\SFTP(getenv('INSTRUM_SERVER'));
    if (!$sftp->login(getenv('INSTRUM_USERNAME'), getenv('INSTRUM_PASSWORD'))) {
        exit('Login Failed');
    }

    $this->load->helper('file');           
    $root  = dirname(dirname(__FILE__));
    $root .= '/third_party/collections_get/';
    $path_to_server = 'testdownload/';
    $result = $sftp->get($path_to_server, $root);

    var_dump($result);
}

在$result中,我得到了一个错误,并且我不确定为什么会这样,我阅读了他们的文档,但仍然不确定.根目录是我想要存储我的信息的目录.现在,我只在其中添加了一个trial.xml文件,还想知道如果文件夹中包含多个文件,该如何获取多个文件.

这是服务器结构的图片:

structure

解决方法:

通常,当我使用sftp时,通常会更改目录,然后尝试下载信息.

$sftp->pwd(); // This will show you are in the root after connection.
$sftp->chdir('./testdownload'); // this will go inside the test directory.
$get_path = $sftp->pwd()
//If you want to download multiple data, use
$x = $sftp->nlist();
//Loop through `x` and then download the file using.
$result = $sftp->get($get_path); // Normally I use the string information that is returned and then download using

file_put_contents($root, $result);

// Root is your directory, and result is the string.

标签:sftp,phpseclib,php
来源: https://codeday.me/bug/20191025/1929485.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有