라이브러리

[PHP] ssh2_sftp - SFTP 하위 시스템 초기화




SSH2_SFTP란?

SSH2_SFTP는 PHP에서 SSH(Secure Shell) 프로토콜을 사용하여 SFTP(Secure File Transfer Protocol) 서버에 접속하고 파일을 전송할 수 있는 확장 모듈입니다. SSH2_SFTP는 PHP 5.3.0부터 기본적으로 포함되어 있습니다.

SSH2_SFTP 사용하기

SSH2_SFTP를 사용하려면 먼저 SSH2_SFTP 모듈을 사용할 수 있도록 PHP를 설정해야 합니다. PHP.ini 파일에서 `extension=ssh2`를 uncomment(해제)하면 됩니다.

#hostingforum.kr
php

;extension=ssh2



해제 후 PHP.ini 파일을 저장하고 PHP를 재시작하면 SSH2_SFTP 모듈이 사용할 수 있습니다.

SSH2_SFTP 예제

다음 예제는 SSH2_SFTP를 사용하여 SFTP 서버에 접속하고 파일을 전송하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php



// SFTP 서버 주소

$sftp_server = 'sftp.example.com';



// SFTP 서버 아이디

$sftp_username = 'example';



// SFTP 서버 비밀번호

$sftp_password = 'example';



// SFTP 서버에 접속

$ssh2_conn = ssh2_connect($sftp_server, 22);

if (!$ssh2_conn) {

    die('SFTP 서버에 접속할 수 없습니다.');

}



// SFTP 서버에 아이디와 비밀번호로 로그인

if (!ssh2_auth_password($ssh2_conn, $sftp_username, $sftp_password)) {

    die('SFTP 서버에 로그인할 수 없습니다.');

}



// SFTP 연결

$sftp_conn = ssh2_sftp($ssh2_conn);

if (!$sftp_conn) {

    die('SFTP 연결을 실패했습니다.');

}



// SFTP 서버의 파일 시스템에 접근

$remote_dir = '/remote/directory';

$local_dir = '/local/directory';



// SFTP 서버의 파일을 로컬 파일 시스템으로 복사

if (!ssh2_scp_recv($sftp_conn, $remote_dir . '/example.txt', $local_dir . '/example.txt')) {

    die('파일을 복사할 수 없습니다.');

}



// SFTP 서버에 파일을 업로드

if (!ssh2_scp_send($sftp_conn, $local_dir . '/example.txt', $remote_dir . '/example.txt')) {

    die('파일을 업로드할 수 없습니다.');

}



// SFTP 연결을 종료

ssh2_disconnect($ssh2_conn);



?>



이 예제는 SFTP 서버에 접속하고 파일을 전송하는 방법을 보여줍니다. SFTP 서버 주소, 아이디, 비밀번호를 입력하고 SFTP 서버에 접속하여 로그인합니다. 그 후 SFTP 연결을 생성하고 SFTP 서버의 파일 시스템에 접근하여 파일을 로컬 파일 시스템으로 복사하고 SFTP 서버에 파일을 업로드합니다. 마지막으로 SFTP 연결을 종료합니다.

SSH2_SFTP 함수

SSH2_SFTP 모듈에는 다음과 같은 함수가 있습니다.

* `ssh2_connect($host, $port)`: SFTP 서버에 접속합니다.
* `ssh2_auth_password($conn, $username, $password)`: SFTP 서버에 아이디와 비밀번호로 로그인합니다.
* `ssh2_sftp($conn)`: SFTP 연결을 생성합니다.
* `ssh2_scp_recv($sftp_conn, $remote_file, $local_file)`: SFTP 서버의 파일을 로컬 파일 시스템으로 복사합니다.
* `ssh2_scp_send($sftp_conn, $local_file, $remote_file)`: SFTP 서버에 파일을 업로드합니다.
* `ssh2_disconnect($conn)`: SFTP 연결을 종료합니다.

이러한 함수를 사용하여 SSH2_SFTP 모듈을 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 195 페이지

검색

게시물 검색