all__
Админ
Сообщений: 874
Зарегистрирован: 01.2010
|
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 |
|