Часто задаваемые вопросы и ответы по C/C++/Visual C++
Последнее обновление: 27.08.2003
FAQ по C/C++/Visual C++
Работа с сетью
Запись в файл на FTP сервер
Составители: SUnteXx, Leprecon
Запись в файл на FTP сервер
A: (SUnteXx)
Оригинальная ссылка: нету

    // Сначала просимся в Интернет
    HINTERNET hInternetFile = 0;
    HINTERNET hInternet = InternetOpen (TEXT("YOUR_PROGRAM_NAME"), // <- Имя программы, которой выходите в инет...
                                                                   // Можите написать Ослика IE
                         INTERNET_OPEN_TYPE_DIRECT,
                         NULL, 0, 0);

    if (!hInternet)
    {
        MessageBox(0,"Connect to internet, plzzz","Error",MB_ICONSTOP);
        return 0;
    }

    // Коннектимся к серваку
    hInternetFile = InternetConnect(hInternet,
                         YOUR_FTP_HERE,                // <- FTP Адрес
                         INTERNET_DEFAULT_FTP_PORT,    // <- FTP порт
                         LOGIN,                        // <- Логин
                         PASSWORD,                     // <- Пароль
                         INTERNET_SERVICE_FTP,
                         0,
                         (DWORD)0);

    char sz[] = "Этот текст будет на FTP";
    DWORD d;
    
    if(hInternetFile)
    {
        // Открываем СУЩЕСТВУЮЩИЙ файл
        hInternetFile = FtpOpenFile(hInternetFile,
                    "/web/downloads/somefile.txt", // Папка + имя файла, в которую закачиваем
                    GENERIC_WRITE,
                    FTP_TRANSFER_TYPE_BINARY,
                    INTERNET_FLAG_RELOAD);


        if(!hInternetFile)
        {
            MessageBox(0,"Can't open the file",0,MB_ICONSTROP);
        }
        else
        {
            // Записываем файл
            if (InternetWriteFile(hInternetFile,sz,strlen(sz),&d) && d == strlen(sz))
                MessageBox(0,"All is allright","OK",MB_ICONINFORMATION);
            else
                MessageBox(0,"Can't write the file",0,MB_ICONSTROP);
        }

    }
    else
        MessageBox(0,"Can't connect to server",0,MB_ICONSTOP);
    

    InternetCloseHandle(hInternetFile);

Содержание Обсудить на форуме « Предыдущая статья | Следующая статья »
Перейти к FAQ:  
FAQ составлен по материалам Форума на Исходниках.Ру.
Copyright © 2002 by Sources.ru. All rights reserved.