【发布时间】: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