라이브러리

[PHP] ftp_pasv - 수동 모드를 켜거나 끕니다.




FTP PASV (Passive Mode)란?


FTP PASV는 FTP 서버와 클라이언트 간의 데이터 전송을 위한 통신 모드를 의미합니다. FTP PASV는 FTP 서버가 클라이언트에게 데이터를 전송할 때, 서버가 클라이언트에게 데이터를 전송할 수 있는 포트를 알려주고, 클라이언트가 그 포트로 데이터를 수신합니다.

FTP PASV의 특징


- FTP PASV는 FTP 서버가 클라이언트에게 데이터를 전송할 때, 서버가 클라이언트에게 데이터를 전송할 수 있는 포트를 알려줍니다.
- 클라이언트는 서버가 알려준 포트로 데이터를 수신합니다.
- FTP PASV는 FTP 서버가 클라이언트에게 데이터를 전송할 때, 서버가 클라이언트에게 데이터를 전송할 수 있는 포트를 알려주기 때문에, 클라이언트가 서버의 포트를 열어두지 않아도 데이터를 전송할 수 있습니다.

PHP에서 FTP PASV 사용하기


PHP의 `ftp_pasv()` 함수를 사용하여 FTP PASV 모드를 활성화할 수 있습니다.

#hostingforum.kr
php

$ftp = ftp_connect('ftp.example.com');

ftp_login($ftp, 'username', 'password');

ftp_pasv($ftp, true); // FTP PASV 모드를 활성화합니다.



예제: FTP PASV 모드를 사용하여 파일 다운로드


#hostingforum.kr
php

$ftp_server = 'ftp.example.com';

$ftp_username = 'username';

$ftp_password = 'password';



$ftp = ftp_connect($ftp_server);

if (!$ftp) {

    echo 'FTP 연결 실패';

    exit;

}



if (!ftp_login($ftp, $ftp_username, $ftp_password)) {

    echo 'FTP 로그인 실패';

    ftp_close($ftp);

    exit;

}



if (!ftp_pasv($ftp, true)) {

    echo 'FTP PASV 모드 활성화 실패';

    ftp_close($ftp);

    exit;

}



$remote_file = 'example.txt';

$local_file = 'example.txt';



if (!ftp_get($ftp, $local_file, $remote_file, FTP_BINARY)) {

    echo '파일 다운로드 실패';

} else {

    echo '파일 다운로드 성공';

}



ftp_close($ftp);



예제: FTP PASV 모드를 사용하여 파일 업로드


#hostingforum.kr
php

$ftp_server = 'ftp.example.com';

$ftp_username = 'username';

$ftp_password = 'password';



$ftp = ftp_connect($ftp_server);

if (!$ftp) {

    echo 'FTP 연결 실패';

    exit;

}



if (!ftp_login($ftp, $ftp_username, $ftp_password)) {

    echo 'FTP 로그인 실패';

    ftp_close($ftp);

    exit;

}



if (!ftp_pasv($ftp, true)) {

    echo 'FTP PASV 모드 활성화 실패';

    ftp_close($ftp);

    exit;

}



$remote_file = 'example.txt';

$local_file = 'example.txt';



if (!ftp_put($ftp, $remote_file, $local_file, FTP_BINARY)) {

    echo '파일 업로드 실패';

} else {

    echo '파일 업로드 성공';

}



ftp_close($ftp);



FTP PASV 모드를 사용하여 FTP 서버와 클라이언트 간의 데이터 전송을 위한 통신 모드를 활성화할 수 있습니다. FTP PASV 모드는 FTP 서버가 클라이언트에게 데이터를 전송할 때, 서버가 클라이언트에게 데이터를 전송할 수 있는 포트를 알려주기 때문에, 클라이언트가 서버의 포트를 열어두지 않아도 데이터를 전송할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색