通过PHP(phpseclib)将文件上传到SFTP服务器

mai*_*ido 6 php csv ssh sftp phpseclib

我有要上传到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);

}
Run Code Online (Sandbox Code Playgroud)

我真的很感谢您的帮助。谢谢!

mai*_*ido 8

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

远程目录URL错误。“ incoming /”应为“ / incoming /”