Hallo,
wie kann ich Textdateien per HTTP hochladen? Mein Provider unterstützt PHP. Das ganz soll ohne Benutzername und Kennwort erfolgen können.
Ach ja, hab schon folgendes getestet:
Delphi-Quellcode:
procedure upload(filename:string);
var
data: TIdMultiPartFormDataStream;
begin
data := TIdMultiPartFormDataStream.Create;
try
data.AddFile('userfile', filename, 'text/plain');
data.Position := 0;
Memo1.Text := IdHTTP1.Post('http://meine_homepage/upload.php', data);
finally
data.Free;
end;
end;
und das PHP Script:
Code:
<?php
// In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
// In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
// move_uploaded_file()
$uploaddir = 'data/';
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
?>
Aber es geht nicht. Es kommt immer:
Code:
Possible file upload attack! Here's some debugging info:
Array
(
)
Ach ja, was auch noch gut wäre, ich müsste gleich noch 2 weitere Parameter übergeben: Titel und Kategorie. Diese Parameter sind einfach Strings.