Autor Beitrag
DorJo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 139



BeitragVerfasst: So 20.04.08 19:52 
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:
ausblenden 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:
ausblenden 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
ausblenden 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>
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 59

Win XP, Win 98
Delphi 7
BeitragVerfasst: So 20.04.08 22:57 
Wieso machst du das nicht einfach über IdFTP? Wäre doch viel leichter....

mfg Target
DorJo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 139



BeitragVerfasst: Mo 21.04.08 21:27 
user profile icon<TargeT> hat folgendes geschrieben:
Wieso machst du das nicht einfach über IdFTP? Wäre doch viel leichter....

mfg Target


Das geht leider nicht :( siehe www.delphi-forum.de/...hp+Script_82704.html


Zuletzt bearbeitet von DorJo am Mo 21.04.08 21:43, insgesamt 1-mal bearbeitet
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: 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.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
<TargeT>
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 59

Win XP, Win 98
Delphi 7
BeitragVerfasst: Di 22.04.08 11:08 
Klappt doch so

ausblenden 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?