Entwickler-Ecke
Internet / Netzwerk - HTTP Upload
DorJo - So 20.04.08 19:52
Titel: HTTP Upload
Hy @ all,
also ich hab folgendes Problem:
Ich möchte gern eine .ini Datei auf einen Funpic-Server hochladen in den Ordner 'upload'.
Die Php Version ist 5.2.5
Soweit so gut! Also ich hab schon gefunden, dass ich das so machen muss:
Delphi code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| var Data: TIDMultiPartFormDataStream; dir: string; begin Data := TIdMultiPartFormDataStream.Create; Getdir(0,dir); dir:=dir+'/ergebnisse/ergebnisse.ini'; try IdHTTP1.Request.ContentType := 'inifile/x-www-form-urlencoded'; Data.AddFile('archive', dir, 'application/ini'); Data.Position := 0; upload_beschreibung.Text := IdHTTP1.Post('http://meineseite/upload.php',Data); finally Data.Free; end; |
und das php script:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| <?php $uploaddir = 'upload/'; $uploadfile = $uploaddir. $_FILES['archive']['name']; move_uploaded_file($_FILES['archive']['name'], $uploadfile); if (move_uploaded_file($_FILES['archive']['name'], $uploadfile)) { print "File is valid, and was successfully uploaded. "; print "Here's some more debugging info:\n"; print_r($_FILES); } else { print "Possible file upload attack! Here's some debugging info:\n"; print_r($uploadfile); } |
Ar wenn ich das ausführe kommt der bekannte Fehler
Quelltext
1: 2:
| Possible file upload attack! Here's some debugging info: upload/ |
Diese problemstellung wurde schon einmal erörtert, aber leider kann ich das ergebnis dieser Diskussion nicht verwenden :(
Ich würde mich daher sehr über Antworten freuen!
MfG
Dor JO
<TargeT> - So 20.04.08 22:57
Wieso machst du das nicht einfach über IdFTP? Wäre doch viel leichter....
mfg Target
jakobwenzel - Mo 21.04.08 21:35
Wieso nicht?
Abgesehen davon muss der erste Parameter von Move_uploaded_file nicht der Dateiname sondern der name der trmporären Datei sein, also $_FILES['archive']['tmp_name'].
Außerdem sollte move_uploaded_file nicht mehrmals aufgerufen werden, da das nur unnötig Rechenzeit kostet.
<TargeT> - Di 22.04.08 11:08
Klappt doch so
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); begin IdFTP1.Host:= 'FUNPIC-Adresse'; IdFTP1.Port:= (21); IdFTP1.Username:= 'USERNAME'; IdFTP1.Password:= 'PASSWORD'; IdFTP1.Connect; IdFTP1.ChangeDir('Upload'); IdFTP1.Put('test.ini', ExtractFileName('test.ini')); IdFTP1.Disconnect; end; |
Oder verstehe ich etwas falsch?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!