반응형
C++로 Ftp 구현 시 사용하면 되는 Class다.
Ftp 기능이 거의 대부분 구현되어 있다.
기능은 업로드, 다운로드, 이어받기 등 다양하다.
다운로드
아래는 SimpleFtp.h의 Class에 정의되어 있는 함수 원형이다.
//로그인
BOOL Login(CString strIP, CString strID=_T("anonymous"), CString strPasswd=_T(""),
UINT nPort = INTERNET_DEFAULT_FTP_PORT, HWND hCallWnd = NULL, BOOL bUtf8 = TRUE, BOOL bPassive = FALSE);
//로그아웃
void LogOut();
//FTP서버에 연결되어있으면 TRUE, 아니면 FALSE
BOOL IsConnected();
//파일만 다운로드
BOOL DownloadFile(CString strRemoteFilePath, CString strLocalFilePath, BOOL bResume = FALSE);
//하위 디렉토리까지 포함하여 다운로드
BOOL DownloadWithSubDir(CString strRemoteDir, CString strLocalDir, BOOL bResume = FALSE);
//파일만 업로드
BOOL UploadFile(CString strLocalFilePath, CString strRemoteFilePath, BOOL bResume = FALSE);
//하위 디렉토리 포함 업로드
BOOL UploadWithSubDir(CString strLocalDir, CString strRemoteDir, BOOL bResume = FALSE);
//FTP서버에 디렉토리를 생성(이때 서버에 없는 하위 디렉토리는 자동 생성한다)
int CreateRemoteDir(CString strRemoteDir);
//FTP서버 파일 또는 디렉토리 이름변경
BOOL RenameRemoteFile(CString strRemoteOldPath, CString strRemoteNewPath);
//FTP서버의 하위디렉토리 포함 삭제
BOOL DeleteRemoteDir(CString strRemoteDir);
//FTP서버의 파일 삭제
BOOL DeleteRemoteFile(CString strRemoteFilePath);
//FTP서버 현재 디렉토리 변경
BOOL SetRemoteDirectory(CString strRemoteDir);
//FTP서버의 현재 디렉토리 경로를 구함
BOOL GetRemoteDirectory(__out CString& strRemoteDir);
//FTP서버의 파일 크기를 구함(성공 TRUE, 실패 FALSE)
BOOL GetRemoteFileSize(__in CString strRemoteFilePath, __out UINT64& nRemoteFileSize);
//FTP서버에 특정 디렉토리가 있는지 확인. FTP서버에 디렉토리가 존재하면 1, 오류인경우 -1, 없으면 0
int FindRemoteDir(CString strRemoteDir);
//FTP서버에 특정 파일이 있는지 확인. FTP서버에 파일이 존재하면 존재하면 1, 오류인경우 -1, 없으면 0
int FindRemoteFile(CString strRemoteFilePath);
//하위 디렉토리 포함한 파일목록(디렉토리+파일)을 구함
BOOL GetRemoteFileListWithSubDir(__in CString strRemoteDir, __out FILE_LIST& file_list);
//FTP의 디렉토리 파일목록(디렉토리+파일)을 구함. 하위디렉토리 미포함
BOOL GetRemoteFileList(__in CString strRemoteDir, __out FILE_LIST& file_list);
반응형
'C++' 카테고리의 다른 글
[C++ ] 2차원 포인터 정리 (0) | 2024.01.25 |
---|---|
[C++ ] 1차원 포인터 정리 (0) | 2024.01.25 |
[C++] Vector(벡터) 사용법 (0) | 2024.01.18 |
[C++] FTP 파일 찾기 예제 (FtpFindFirstFile) (0) | 2024.01.18 |
[C++] FTP Timeout 설정 예제 (InternetSetOption) (1) | 2024.01.18 |