[C++] FTP 구현 예제 업로드 다운로드(SImple Ftp Class)

Ftp 구현 하라고 하면 사용하면 되는 Class다.
Ftp 에서 할 수있는 기능이 거의 대부분 구현되어 있다.(Ftp Upload & Download)




아래는 헤더 파일 함수.

//로그인
    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)
;  






출처 : 원본

댓글

이 블로그의 인기 게시물

[Python] 파이썬 if문 사용법과 예제

[네트워크] 오류 제어 방식 이란?(FEC, BEC, ARQ)

[Virtual Box] 가상머신 에러 E_FAIL (0x80004005), (VERR_SUPLIB_PATH_NOT_CLEAN) 해결 방법