49306956


HTTP+POST+PHP - Как закачать файл на сервер?
Автор Сообщение
all__ Не на форуме
Админ
*******

Сообщений: 874
Зарегистрирован: 01.2010
Сообщение: #1
HTTP+POST+PHP - Как закачать файл на сервер?
Сейчас я покажу, как в Delphi закачать файл на сервер. Я использую idHTTP. Для наглядности, в примере приведен исходник консольного приложения.

uploader.dpr
Код:
program uploader;

{$APPTYPE CONSOLE}

uses
  SysUtils,IdMultipartFormData,IdHTTP,IdAntiFreeze;

var
  idAF:TIdAntiFreeze;
  http:TIdHTTP;
  Stream: TIdMultipartFormDataStream;
  FileName:string;

begin
  { TODO -oUser -cConsole Main : Insert code here }
  FileName:=ParamStr(1);
  idAF:=TIdAntiFreeze.Create(nil);
  http:=TIdHTTP.Create(nil);
  Stream := TIdMultipartFormDataStream.Create;
  try
    Stream.AddFile('uploadedfile', FileName, 'multipart/form-data');
    http.HandleRedirects := True;
    writeln(http.Post('http://localhost/uploader.php', Stream ));
  finally
    Stream.Free;
  end;
  http.Free;
end.
В результате компиляции uploader.dpr появится исполняемый файл uploader.exe.
Чтобы отправить файл нужно ввести в командной строке:
Код:
uloader.exe путь/имя_файла

uploader.php
Код:
<?
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "Файл  ".  basename( $_FILES['uploadedfile']['name']).
    " загружен";
} else{
    echo "Ошибка!";
}
?>

Лучшая благодарность - "Мне нравится", +1 или Like! Вверху страницы.
(Последний раз сообщение было отредактировано 23.04.2010 в 20:40, отредактировал пользователь all__.)
11.01.2010 21:40
Вебсайт Найти все сообщения Цитировать это сообщение
Создать ответ