powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / ibec_ftp
13 сообщений из 13, страница 1 из 1
ibec_ftp
    #39901720
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Есть несколько вопросов по работе с ftp:

1. Можно ли вручную установить активный/пассивный режим, какой режим используется по-умолчанию?
2. Можно ли вручную установить Binary/ASCII режим передачи файлов, какой режим используется по умолчанию?
3. Можно ли получить список файлов из каталога на ftp?
4. Можно ли скачать все файлы из каталога на ftp в локальный каталог по маске?
5. Можно ли записать все файлы из локального каталога в каталог на ftp по маске?
6. Можно ли удалить все файлы из каталога на ftp по маске?

Если что-то из этого выполнить нельзя, планируется ли сделать так, чтобы было можно?
...
Рейтинг: 0 / 0
ibec_ftp
    #39901949
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OrsoF1
Добрый день! Есть несколько вопросов по работе с ftp:

1. Можно ли вручную установить активный/пассивный режим, какой режим используется по-умолчанию?
2. Можно ли вручную установить Binary/ASCII режим передачи файлов, какой режим используется по умолчанию?
3. Можно ли получить список файлов из каталога на ftp?
4. Можно ли скачать все файлы из каталога на ftp в локальный каталог по маске?
5. Можно ли записать все файлы из локального каталога в каталог на ftp по маске?
6. Можно ли удалить все файлы из каталога на ftp по маске?

Если что-то из этого выполнить нельзя, планируется ли сделать так, чтобы было можно?


Пункты с 1-6 Ответ - Да, можно.
Пункт 6 см. https://www.sql.ru/forum/437327/udalenie-faylov-na-ftp-po-maske-s-pomoshhu-utility-ftp-exe
...
Рейтинг: 0 / 0
ibec_ftp
    #39901952
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
ibec_ftp_Connect	Establishes connection to the FTP server.
ibec_ftp_Disconnect	Performs a disconnection from the FTP server.
ibec_ftp_ChangeDir	Changes the working directory on the FTP server.
ibec_ftp_MakeDir	Creates a directory on the FTP server.
ibec_ftp_RemoveDir	Deletes a directory on the FTP server.
ibec_ftp_Rename	Renames files/directories on the FTP server.
ibec_ftp_DeleteFile	Deletes a file on the FTP server.
ibec_ftp_FileSize	Returns the size of a file in Bytes.
ibec_ftp_FileDate	Returns the modification timestamp of a file.
ibec_ftp_FileDateTime	 
ibec_ftp_GetFile	Copies a file from the FTP server to the local computer.
ibec_ftp_PutFile	Copies a local file to the FTP server.
ibec_ftp_LastResponse	Returns the last response of the FTP server.
ibec_ftp_GetProperty	Gets the value of the specified property.
ibec_ftp_SetProperty	Sets the value of the specified property.
...
Рейтинг: 0 / 0
ibec_ftp
    #39902052
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты бы сначала с предыдущей проблемой разобрался. У меня нет никакого желания тратить время зря.
...
Рейтинг: 0 / 0
ibec_ftp
    #39905321
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AltHasp, я понимаю, что с ftp это всё провернуть можно, я ж вопрос задал в контексте ibec_ftp_xxx() функций. А в них как раз таки не вижу функционала, позволяющего по моим вопросам отработать...
...
Рейтинг: 0 / 0
ibec_ftp
    #39905358
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, что есть, перечислено. Может или не может - попробовать не проще?
Расширять функционал не планируется за отсутствием спроса.
...
Рейтинг: 0 / 0
ibec_ftp
    #39905427
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert. ЯП попробовал, только как:

1. Можно ли вручную установить активный/пассивный режим, какой режим используется по-умолчанию?
не вижу функции
2. Можно ли вручную установить Binary/ASCII режим передачи файлов, какой режим используется по умолчанию?
не вижу функции
3. Можно ли получить список файлов из каталога на ftp?
не вижу функции
4. Можно ли скачать все файлы из каталога на ftp в локальный каталог по маске?
вижу функцию ibec_ftp_GetFile(), которая позволяет скачать конкретный файл с ftp, но не группу файлов по маске
5. Можно ли записать все файлы из локального каталога в каталог на ftp по маске?
вижу функцию ibec_ftp_PutFile(), которая позволяет записать на ftp конкретный файл, но не группу файлов по маске
6. Можно ли удалить все файлы из каталога на ftp по маске?
вижу функцию ibec_ftp_DeleteFile(), которая опять же позволяет удалить конкретный файл с ftp, но не группу файлов по маске.

А, в отсутствии спроса, расширение функционала за оплату возможно?
...
Рейтинг: 0 / 0
ibec_ftp
    #39905447
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1-3: нет соответствующих функций/опций - значит, нельзя. Режимы по умолчанию я не знаю, надо лезть в код и смотреть.
4-6: если попробовал и не работает - вот тебе и ответ.

Можно и без "за оплату", если 1) четко распишешь, что тебе нужно; 2) это не требует титанических усилий.
Вот, например, "скачать все файлы по маске" - это стандартная фича ftp или придется огород городить с разбором маски и т.д.?
...
Рейтинг: 0 / 0
ibec_ftp
    #39905543
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот краткий пример стандартных команд, стандартного же ftp-клиента windows.

open 192.168.1.1 - открыть соединение с сервером 192.168.1.1
user admin - использовать имя пользователя admin при подключении к серверу. В ответ на эту команду сервера запросит пароль.
adminpass - ввод пароля для пользователя admin
ls - отобразить список файлов и папок в текущем каталоге на ftp.
cd files - перейти в каталог files на ftp
lcd C:\files - перейти в заданный локальный каталог.
mget *.txt - принять файлы *.txt из удаленного каталога в текущий локальный каталог ( C:\files ).

конечно, стандартный ftp.exe виндозный не бог весть какой клиент, дофига чего не поддерживает, тот же пассивный режим, например, но тем не менее...

Если у тебя ibec_ftp_xxx() это обертка вокруг какого-то инструмента, то там по-любому это все должно быть.

А что мне нужно это:
1. Возможность вручную установить активный/пассивный режим. Например, добавить параметр в функцию ibec_ftp_Connect()
2. Возможность вручную установить Binary/ASCII режим передачи файлов. Сие важно.
3. Возможность получить список файлов из каталога на ftp. (ls и mls)
4. Возможность скачать все файлы из каталога на ftp в локальный каталог по маске. (mget)
5. Возможность записать все файлы из локального каталога в каталог на ftp по маске. (mput)
6. Возможность удалить все файлы из каталога на ftp по маске. (mdelete)
...
Рейтинг: 0 / 0
ibec_ftp
    #39905582
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бегло освежил свои скудные знания о протоколе...
В протоколе никаких mget/mput/mdelete нет, этим клиент занимается. Я этим заниматься не хочу.
С другой стороны, я не вижу особых сложностей с разбором списка файлов в блоке и загрузкой/выгрузкой/удалением файлов по одному (что и делает клиент ftp, как я понимаю).

С реализацией первых трех пунктов никаких проблем нет.
...
Рейтинг: 0 / 0
ibec_ftp
    #39905593
OrsoF1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну на нет и суда нет. Обойдемся и первыми тремя...
...
Рейтинг: 0 / 0
ibec_ftp
    #39905909
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1319588&msg=22044870

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
execute ibeblock as
begin
  ftp = ibec_ftp_OpenSession('HostName=somehost.com; UserName=somename; Password="somepass"');
  try
    ibec_ftp_SetProperty(ftp, 'PassiveMode', FALSE);
    ibec_ftp_SetProperty(ftp, 'TransferMode', 'ASCII');
    --ibec_ftp_SetProperty(ftp, 'TransferMode', 'BINARY');

    Res = ibec_ftp_Connect(ftp);
    if (Res) then
    begin
      Res = ibec_ftp_List(ftp, '*', FALSE);
      if (Res) then
        ibec_ShowMessage(ibec_ftp_GetData(ftp));
    end

    if (ibec_ftp_List(ftp, '*.zip', FALSE)) then
      ibec_ShowMessage(ibec_ftp_GetData(ftp));

    ibec_ShowMessage(ibec_ftp_GetProperty(ftp, 'SESSIONLOG'));
  finally
    ibec_ftp_CloseSession(ftp);
  end;
end;



Как-то так... Со списком файлов я еще подумаю, как его можно обрабатывать, кроме возврата обычным текстом.
...
Рейтинг: 0 / 0
ibec_ftp
    #39906069
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OrsoF1,
1) Все это можно выполнить за три минуты в PowerShell на винде (и команды по маске и пассив и двоичный режим т.п.).
2) На худой конец, есть утилита ncFtp в которой УЖЕ есть еще десятки доп. функции для работы с ftp протоколом ( https://www.ncftp.com/ncftp/doc/faq.html).
Нет смысла загружать IBExpert ftp-шними штучками, лучше пусть время потратит на что-то "вкусненькое". ИМХО.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / ibec_ftp
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]