FTPでファイルのアップロード


主なFTP操作関数

関数名 機能
InternetOpen WinInetのセッションを開始します。
InternetConnect サーバーに接続します。
InternetCloseHandle ハンドルをクローズします。
FtpSetCurrentDirectory サーバーのカレントディレクトリを変更します。
FtpGetCurrentDirectory サーバーのカレントディレクトリを取得します。
FtpGetFile サーバーのファイルをローカルディスクに保存します。
FtpPutFile サーバーにファイルを保存します。
FtpDeleteFile サーバーのファイルを削除します。
FtpFindFirstFile サーバーのディレクトリ内のファイルを検索します。
InternetFindNextFile FtpFindFirstFileに続けて次のファイルを検索します。
FtpCreateDirectory サーバーにディレクトリを作成します。
FtpRemoveDirectory サーバーのディレクトリを削除します。


Sample code

転送モードアスキーで送信。


//lpszServerName: サーバー名
//lpszUsername  : ユーザー名
//lpszPassword  : パスワード
//lpszFileName  : ローカルファイル名
//lpszNewFile   : サーバーに保存するファイル名
//戻り値        : 成功した場合TRUE
BOOL PutFile(LPCTSTR lpszServerName, LPCTSTR lpszUsername, LPCTSTR lpszPassword, LPCTSTR lpszFileName, LPCTSTR lpszNewFile)
{
    BOOL bResult = FALSE;
    HINTERNET hInternet = InternetOpen(TEXT("Agent"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    if(hInternet != NULL) {
        HINTERNET hConnect = InternetConnect(hInternet, lpszServerName, INTERNET_INVALID_PORT_NUMBER, lpszUsername, lpszPassword, INTERNET_SERVICE_FTP, 0, 0);
        if(hConnect != NULL) {
            bResult = FtpPutFile(hConnect, lpszFileName, lpszNewFile, FTP_TRANSFER_TYPE_ASCII, 0);
            InternetCloseHandle(hConnect);
        }
        InternetCloseHandle(hInternet);
    }
    return bResult;
}

一覧メニューへ