PHP의 ftp_get() 함수는 FTP 서버에 있는 파일을 다운로드하여 로컬 시스템의 파일로 저장할 때 사용합니다. 웹 애플리케이션에서 원격 서버의 파일을 가져와야 할 때 유용하게 활용할 수 있습니다.
문법(Syntax)
ftp_get(con, local_file, server_file, mode, startpos);
매개변수(Parameters)
con − ftp_connect()로 생성한 FTP 연결 리소스입니다.
local_file − 다운로드한 데이터를 저장할 로컬 파일의 경로입니다.
server_file − FTP 서버에서 다운로드할 파일의 경로입니다.
mode − 전송 모드입니다. 텍스트 파일은 FTP_ASCII, 이미지나 압축 파일 등은 FTP_BINARY를 사용합니다.
startpos − 다운로드를 시작할 위치(오프셋)입니다. 부분 다운로드나 이어받기에 활용할 수 있으며, PHP 4.3.0부터 추가되었습니다.
반환값(Return)
ftp_get() 함수는 다운로드에 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
예제(Example)
다음 예제는 FTP 서버의 "demo.txt" 파일을 다운로드하여 로컬의 "new.txt" 파일로 저장하는 코드입니다.
<?php
$ftp_server = "192.168.0.4";
$ftp_user = "amit";
$ftp_pass = "tywg61gh";
// FTP 서버에 연결
$con = ftp_connect($ftp_server) or die("$ftp_server 에 연결할 수 없습니다");
$login = ftp_login($con, $ftp_user, $ftp_pass);
$my_serverfile = "demo.txt"; // 서버에서 다운로드할 파일
$my_file = "new.txt"; // 저장될 로컬 파일
if (ftp_get($con, $my_file, $my_serverfile, FTP_ASCII, 0)) {
echo "로컬 파일에 성공적으로 저장되었습니다!";
} else {
echo "서버 파일 다운로드 중 오류가 발생했습니다!";
}
// FTP 연결 종료
ftp_close($con);
?>
참고 사항
이미지, ZIP 파일 등 바이너리 파일을 다운로드할 때는 반드시 FTP_BINARY 모드를 사용해야 파일이 손상되지 않습니다. 또한 모든 작업이 끝난 후에는 ftp_close() 함수로 연결을 닫아 리소스를 해제하는 것이 좋습니다.