Всегда новое имя у загруженного на FTP файла, как? - VB
Формулировка задачи:
Добрый день, господа программисты!
Создал проект, функцией которого является загрузка файла на FTP
сервер, т.е. FTP-client. Целью проекта является загрузка файла с постоянно изменяющимися данными (1.txt). Проблема такая:
Как Вы видите из строки:
имя файла на сервере будет 1.txt, и при последующих запусках,
клиента имя файла 1.txt меняться не будет, т.е. предыдущий файл
будет перезаписан.
Вопрос:
Как сделать чтобы при запуске FTP-клиента файл сохранялся в
формате:
год-месяц-дата-часов-минут-секунд.txt
времени запуска? Т.е. имя файла никогда не повторялось.
И как сохранить файл не в корень каталога FTP, как здесь:
а в подкаталоге, пример:
когда пишу адрес ftp.XXXX.XXX/1 или ftp.XXXX.XXX/1/ - файл не отправляется вообще.
Спасибо за внимание, очень надеюсь на вашу помощь.
Решение задачи: «Всегда новое имя у загруженного на FTP файла, как?»
textual
Листинг программы
Sub FTP_FileCopy(FileLocal As String, FileRemote As String) On Error Resume Next Dim hConnection As Long, hOpen As Long, sOrgPath As String 'считывание настроек FTP Call FTP_ConnectParam If FTP_SERVER = "" Or FTP_LOGIN = "" Or FTP_PASS = "" Then Exit Sub lpszLocalFile = FileLocal 'локальный файл, который необходимо закачать lpszRemoteFile = FileRemote 'имя, под которым сохраним закачиваемый файл 'Открываем соединение с интернетом hOpen = InternetOpen("sample program", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0) 'Соединяемся с FTP сервером hConnection = InternetConnect(hOpen, FTPServer, INTERNET_DEFAULT_FTP_PORT, FTPLogin, FTPPassword, INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0) 'Создаем буфер для запоминания оригинальной текущей директории sOrgPath = String(MAX_PATH, 0) 'Получаем текущую директорию Call FtpGetCurrentDirectory(hConnection, sOrgPath, Len(sOrgPath)) 'Меняем текущую директорию на root/%lpszRemoteDirectory% Call FtpSetCurrentDirectory(hConnection, lpszRemoteDirectory) 'Заливаем файл lpszLocalFile lblCopy.Visible = True Me.Refresh DoEvents Call FtpPutFile(hConnection, lpszLocalFile, lpszRemoteFile, FTP_TRANSFER_TYPE_UNKNOWN, 0) lblCopy.Visible = False 'Восстанавливаем оригинальную (сохраненную ранее) текущую директорию Call FtpSetCurrentDirectory(hConnection, sOrgPath) 'Закрываем соединение с FTP сервером Call InternetCloseHandle(hConnection) 'Закрываем соединение с интернетом Call InternetCloseHandle(hOpen) 'обновляем список файлов Call FTP_CreateFileList(lpszRemoteDirectory) End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д