C++

[C++] FTP 예제(SImple Ftp Class)

Let it out 2024. 1. 18. 00:32

C++로 Ftp 구현 시 사용하면 되는 Class다.

Ftp 기능이 거의 대부분 구현되어 있다.
 
기능은 업로드, 다운로드, 이어받기 등 다양하다.
 
 
 
 
 

다운로드

SimpleFtp.cpp
0.05MB
 
 
 
 
아래는 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);
 
 
 
 
원본 링크 : http://blog.daum.net/odega/4
반응형