Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Проверка существования папки на FTP-сервере с помощью Overbyte ICS FTP в Delphi

Delphi , Интернет и Сети , FTP

В процессе разработки приложений, работающих с FTP-серверами, часто возникает необходимость проверить existence существование определенной папки на сервере. В этой статье мы рассмотрим, как это можно сделать с помощью компонента Overbyte ICS FTP в Delphi.

Для начала давайте создадим простую функцию, которая будет принимать в качестве аргументов название папки, которую мы хотим проверить, а также параметры подключения к FTP-серверу (хост, порт, имя пользователя и пароль). Функция должна возвращать true, если папка exists существует, и false в противном случае.

function FolderExistsOnFTP(const FolderName, HostName, Port, UserName, Password, RootFolder: string; MemoLog: TMemo): Boolean;
var
  FTP: TFtpClient;
begin
  Result := False;
  FTP := TFtpClient.Create(nil);
  try
    FTP.HostName := HostName;
    FTP.Port := StrToInt(Port);
    FTP.Username := UserName;
    FTP.Password := Password;
    FTP.Passive := True;
    FTP.Binary := True;

    if not FTP.Open then
    begin
      MemoLog.Lines.Add(Format('Не удалось подключиться к серверу: %s', [FTP.ErrorMessage]));
      Exit;
    end;

    if not FTP.User then
    begin
      MemoLog.Lines.Add(Format('Не удалось авторизоваться на сервере: %s', [FTP.ErrorMessage]));
      Exit;
    end;

    if not FTP.Pass then
    begin
      MemoLog.Lines.Add(Format('Не удалось авторизоваться на сервере: %s', [FTP.ErrorMessage]));
      Exit;
    end;

    FTP.HostDirName := RootFolder;
    if not FTP.Cwd then
    begin
      if FTP.StatusCode = 550 then
        Exit
      else
      begin
        MemoLog.Lines.Add(Format('Не удалось перейти в папку: %s', [FTP.ErrorMessage]));
        Exit;
      end;
    end;

    FTP.HostDirName := FolderName;
    Result := FTP.Cwd;
  finally
    FTP.Free;
  end;
end;

В этой функции мы создаем экземпляр компонента TFtpClient, устанавливаем параметры подключения и авторизации, переходим в корневую папку на сервере, а затем пытаемся перейти в папку, которую мы хотим проверить. Если папка exists существует, то метод Cwd вернет true, и мы установим значение результата функции в true. В противном случае, если папка не exists существует, мы получим код статуса 550 от сервера, и функция вернет false.

Обратите внимание, что мы также добавляем сообщения в TMemo, чтобы отслеживать процесс подключения и авторизации на сервере, а также любые ошибки, которые могут возникнуть во время выполнения функции.

Теперь, чтобы проверить existence существование папки на FTP-сервере, просто вызовите эту функцию, передав ей необходимые параметры:

MemoLog.Lines.Add(Format('Проверка папки "%s" на сервере "%s"', [FolderName, HostName]));
if FolderExistsOnFTP(FolderName, 'ftp.example.com', '21', 'username', 'password', '/path/to/root/folder', MemoLog) then
  MemoLog.Lines.Add(Format('Папка "%s" exists существует на сервере "%s"', [FolderName, HostName]))
else
  MemoLog.Lines.Add(Format('Папка "%s" не exists существует на сервере "%s"', [FolderName, HostName]));

В этом примере мы также добавляем сообщение в TMemo, чтобы сообщить пользователю о результате проверки existence существования папки.

Надеюсь, эта статья помогла вам узнать, как проверить existence существование папки на FTP-сервере с помощью Overbyte ICS FTP в Delphi.Happy coding!

Создано по материалам из источника по ссылке.

Статья описывает процесс проверки существования папки на FTP-сервере с использованием компонента Overbyte ICS FTP в Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: FTP ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 13:17:43/0.0032382011413574/0