3
SFTP 서버의 '수신'폴더에 업로드하려는 CSV가 있습니다. 나는 이것을하기 위해 phpseclib을 사용하고있다. 연결은 이미 있지만 아무것도 출력하지 않습니다.PHP (phpseclib)를 통해 SFTP 서버에 파일 업로드
이전에 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()'은 업로드 성공 여부에 따라 boolean 값을 반환합니다. idk이 당신이 예상 한 것인가? – neubert
안녕하세요 @neubert 답변 해 주셔서 감사합니다. 연결되었습니다. 나는 지금 무슨 문제인지 알고있다. "incoming /"은 "/ incoming /"이어야합니다. – maikelsabido