【问题标题】:Upload files to SFTP server via PHP (phpseclib)通过 PHP (phpseclib) 将文件上传到 SFTP 服务器
【发布时间】:2014-02-26 09:50:43
【问题描述】:

我有想要上传到 SFTP 服务器中的“传入”文件夹的 CSV。我正在使用 phpseclib 来执行此操作。连接已经存在,但没有输出任何内容。

我不确定我所做的是否正确,因为我之前没有处理过 SFTP。这是我的代码的样子:

$file = "leads.csv";

$server = "41.160.150.200";
//$server = "ft.bayport.co.za";
$port = "22";
$username = "";
$password = ""; 

//username and password removed for security reasons

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');

include 'Net/SFTP.php';

define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX); // or NET_SFTP_LOG_SIMPLE

$sftp = new Net_SFTP($server);

// Check SFTP Connection
if (!$sftp->login($username, $password)) {
    echo 'Login Failed.';
    echo $sftp->getSFTPLog();
}else{

echo 'Connected to SFTP.';

echo $sftp->pwd();

// Upload CSVs to SFTP incoming folder
     echo $upload = $sftp->put("incoming/".$file, "./bayport/".$file, NET_SFTP_LOCAL_FILE);

}

我非常感谢任何帮助。谢谢!

【问题讨论】:

  • 该脚本的输出是什么?登录失败还是连接成功? pwd() 是否返回您期望的输出? $sftp->put() 根据上传是否成功返回一个布尔值。 idk,如果这是你所期待的?
  • 嗨@neubert 感谢您的回复。它已成功连接。我知道现在有什么问题。 “传入/”应该是“/传入/”

标签: php csv ssh sftp phpseclib


【解决方案1】:

现在我知道脚本有什么问题了。

远程目录 URL 错误。 “传入/”应该是“/传入/”

【讨论】:

    最近更新 更多