Wenn Du schon die
Indy-Komponenten benutzt, warum nimmst Du nicht "Put"?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
PutDataStream: TStringStream;
Datei: TFileStream;
Stream: TStream;
begin
if (OpenDialog1.Execute) then
Datei := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
Stream := TStream.Create;
Stream := Datei;
PutDataStream := TStringStream.Create('');
try
IdHTTP1.Put('http://wasauchimmer.de', Stream, PutDataStream);
Memo1.Text := PutDataStream.DataString;
finally
PutDataStream.Free;
Stream.Free;
end;
end;
In PHP sieht das ganze dann so aus, um mit PUT-Dateien zu empfangen:
Code:
/* PUT Daten kommen in den stdin Stream */
$putdata = fopen("php://stdin","r");
/* Eine Datei zum Schreiben öffnen */
$now = date("Y-m-d - H_i_s");
$fp = fopen("put/".$now.".txt","w");
/* Jeweils 1kB Daten lesen und
in die Datei schreiben */
while ($data = fread($putdata,1024))
fwrite($fp,$data);
/* Die Streams schließen */
fclose($fp);
fclose($putdata);
Pfad (put/) halt anpassen.