Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP ftp_login() 함수 – FTP 로그인 문법과 예제 총정리

PHP의 ftp_login() 함수는 이미 열려 있는 FTP 연결에 대해 사용자 인증을 수행하고 로그인하는 함수입니다. ftp_connect()로 FTP 서버에 접속한 후, 이 함수를 호출해야 실제 파일 업로드나 다운로드 같은 작업을 진행할 수 있습니다.

문법(Syntax)

ftp_login(con, user_name, password);

매개변수(Parameters)

  • con − ftp_connect()를 통해 생성된 FTP 연결 리소스입니다.

  • user_name − FTP 서버에 로그인할 때 사용할 사용자 이름(계정 ID)입니다.

  • password − 해당 계정의 로그인 비밀번호입니다.

반환값(Return)

ftp_login() 함수는 로그인에 성공하면 TRUE를 반환합니다. 반대로 실패하면 FALSE를 반환하고 함께 PHP 경고(warning) 메시지를 발생시킵니다. 따라서 실패 상황에서는 에러 억제 연산자(@)를 사용해 불필요한 경고 출력을 막는 것이 일반적입니다.

사용 예제

다음은 ftp_connect()로 서버에 연결한 뒤 ftp_login()으로 로그인하는 기본적인 예제입니다.

<?php
   $ftp_server = "192.168.0.4";
   $ftp_user = "amit";
   $ftp_pass = "tywg61gh";

   // FTP 서버에 연결 시도
   $con = ftp_connect($ftp_server) or die("$ftp_server 에 연결할 수 없습니다.");

   // 로그인 시도 (실패 시 경고 억제를 위해 @ 사용)
   if (@ftp_login($con, $ftp_user, $ftp_pass)) {
      echo "로그인에 성공했습니다!";
   } else {
      echo "로그인에 실패했습니다!";
   }

   // 작업 종료 후 연결 닫기
   ftp_close($con);
?>

예제 설명


1. ftp_connect() : 지정된 IP 주소의 FTP 서버에 연결을 시도하며, 연결에 실패하면 die()로 스크립트를 종료합니다.
2. @ftp_login() : 사용자 이름과 비밀번호로 로그인을 시도합니다. 앞에 붙은 @(에러 억제 연산자)는 로그인 실패 시 나타나는 경고 메시지가 화면에 출력되지 않도록 합니다.
3. 조건 분기 : 반환값이 TRUE이면 성공 메시지를, FALSE이면 실패 메시지를 출력합니다.
4. ftp_close() : 모든 작업이 끝나면 FTP 연결을 닫아 리소스를 해제합니다.

실무에서는 보안을 위해 FTP 대신 SSH 기반의 SFTP를 사용하는 것이 권장되며, 어쩔 수 없이 FTP를 사용해야 하는 경우라면 계정 정보를 소스 코드에 하드코딩하지 말고 환경 변수나 별도의 설정 파일로 관리하는 것이 안전합니다.