Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2012, 12:48   #1
protected_by
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 16
По умолчанию Заливка папки на ftp сервер

Доброго всем времени суток, хотел попросить помощи как осуществить передачу именно папки со вложенными в нее файлами на ftp сервер, один файл (другой) передать без проблем получается, но мне надо так же с этим файлом передать папку. Обрисую что я хочу сделать: У меня есть excel документ я сохраняю его как htm и вместе с ним у меня появляется папочка с всяким css и прочей фигней, ну вот мне и надо залить этот файлик и папку на ftp сервер. Заранее спасибо!
protected_by вне форума Ответить с цитированием
Старый 02.11.2012, 13:06   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если у вас есть код на Delphi, который успешно заливает ОДИН файл,
то задача становится проще паренной репки.
Вам достаточно дописать код, который СОЗДАЁТ папку на ftp сервере.
+ взять на форуме процедуру (рекурсивную) которая проходит по всем файлам (включая и вложенные папки и файлы!) в указанной папке (ищите тут на форуме по словам FindFirst - если возникнут сложности с поиском, пишите, поскажу..
Далее, в эту процедуру для вложенных папок вызываете процедуру создания папки на FTP, для файлов - процедуру заливки на FTP.
Всё. задача решена.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.11.2012, 13:24   #3
protected_by
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 16
По умолчанию

во первых вложенные файлы в этой папке каждый раз будут у меня различные во вторых вот код для отправки одного файла, с использованием php скрипта, вот php скрип:
<?php
$uploaddir='';
if(move_uploaded_file($_FILES['filename']['tmp_name'],$uploaddir.
$_FILES['filename']['name'])){
print"Файл успешно закачен";
} else {
print "Не удалось произвести закачку";
}
?>

вот сама процедура отправки (без подключаемых модулей):

procedure TForm1.SendFile(patch: string; IdHTTP: TIdHTTP; PHP: string; Edit: TEdit);
var
Stream: TIdMultipartFormDataStream;
begin
Stream:=TIdMultipartFormDataStream. Create;
Stream.AddFile ('filename', patch, 'text/html');
IdHttp.HandleRedirects:=True;
try
Edit.text:=IdHTTP.Post(PHP, Stream);
finally
Stream.Free
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var S, phpstring: string;
begin
GetDir (0,S);
phpstring:='http://62school.besaba.com/add.php';
SendFile(S+'\index.htm', IdHTTP1, phpstring, Edit1);
end;

Последний раз редактировалось protected_by; 02.11.2012 в 13:30.
protected_by вне форума Ответить с цитированием
Старый 02.11.2012, 14:35   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

давайте начнём с начала - а при чём здесь FTP сервер?!
Может я проглядел что-то, но где здесь упоминается FTP ?!

ну и, раз уж вы заливаете через HTTP, обращаясь к PHP скрипту, то нужно менять этот самый скрипт (чтобы он мог создавать подпапки и заливать файлы в них).
А вообще, мне кажется, Вы вообще не в ту сторону копаете. Копайте в сторону заливки через FTP...



я не являюсь специалистом в области использования INDY (скорре даже, наоборот!)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание папки на FTP delphin100 Работа с сетью в Delphi 4 01.03.2016 14:33
FTP Сервер hitman12 Софт 29 02.02.2012 10:25
FTP сервер Kukurudza Фриланс 1 23.09.2011 16:43
отправка папки на ftp W.i.d.g.e.t.1 Работа с сетью в Delphi 3 03.11.2010 16:59
ftp-клиент (кодировка) 2 - проблема создание папки koszh2007 Работа с сетью в Delphi 0 01.10.2010 16:12