PHP 에서 SFTP 서버에 파일을 업로드할일이 생겼다.
기존 FTP 처럼 손쉽게 되면 참~ 좋겠지만 불행히도 쉽지많은 않았다.
결론적으로 서버에 phpseclib를 설치하지 않고 폴더만 복사해 사용할 수 있는
방법을 찾았다.
phpseclib3를 사용해야해서 PHP5 버전은 불가능하다. 만약, PHP5 버전에 사용할 수 있는 방법이
있다면 공유 좀 ....
일단, phpseclib 폴더를 서버의 최상위 폴더에 복사한 후 소스는 아래와 같다.
---------------------------------------------------------------------------------
ini_set("display_errors","1");
require_once __DIR__ . '/phpseclib/autoloader.php';
use phpseclib3\Net\SFTP;
use phpseclib3\Crypt\PublicKeyLoader;
// SFTP 서버 정보
$host = '';
$port = 22;
$username = '';
$password = '';
$remoteFilePath = '/test/test.gif';
$localFilePath = __DIR__ . '/img/test.gif';
try {
// SFTP 객체 생성
$sftp = new SFTP($host, $port);
// 비밀번호 로그인
if (!$sftp->login($username, $password)) {
throw new Exception('SFTP 로그인 실패');
}
// 파일 업로드
if (!$sftp->put($remoteFilePath, file_get_contents($localFilePath))) {
throw new Exception('파일 업로드 실패');
}
echo "파일 업로드 성공: $remoteFilePath\n";
} catch (Exception $e) {
echo "에러 발생: " . $e->getMessage() . "\n";
}

'기타' 카테고리의 다른 글
insert 쿼리시 auto_increment 되는 값 가져오기 (0) | 2025.04.07 |
---|---|
2차원 배열 일치하는지 비교하기 (0) | 2025.04.04 |
플스플러스 3월 월간게임 - PS PLUS (0) | 2025.03.07 |
대만여행 4인가족 일정공유 (0) | 2025.03.02 |
대만여행 준비 팁 공유 (0) | 2025.03.02 |