Datei auf FTP Server packen

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

 

Smoky

Betreff: Datei auf FTP Server packen

BeitragSa, Nov 04, 2006 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

da ich hier noch keine Lösung gefunden habe, eine Datei auf einen FTP Server zu schieben, habe ich selber eine Funktion geschrieben mit Hilfe der Englischen Forums.
Wenn die Funktion nicht gefällt, einfach wieder im Mülleimer packen (wie immer).

CODE/

dateisenden("dateiname","Username","Passwort","ftpadresse")

Code: [AUSKLAPPEN]

Function dateisenden(datei:String,Nutzer:String,passwort:String,ftpseite:String)   
Local temp:String,temp2:String,temp3:String[7]
Local fertig:Int=0,nr:Int=0,nr2:Int,ip:String,port1:Int
Global Socket:TSocket=CreateTCPSocket()
If BindSocket(Socket,2021) Then Print "BindSocket(socket,2021) OK"
If ConnectSocket(Socket,HostIp(ftpseite),21) Then Print "ConnecSocket(socket,ip) OK"
SocketListen(Socket)
Print "SicketListen(socket) OK"
Global socketstream:TSocketStream=CreateSocketStream(Socket)
   Print ReadLine(socketstream)
   WriteLine(socketstream,"USER "+Nutzer)
   Print ReadLine(socketstream)
   WriteLine(socketstream,"PASS "+Passwort)
   Print ReadLine(socketstream)
   WriteLine(socketstream,"CWD db")
   Print ReadLine(socketstream)
   WriteLine(socketstream,"PWD")
   Print ReadLine(socketstream)
   WriteLine(socketstream,"LIST -al")
   Print ReadLine(socketstream)
   WriteLine(socketstream,"PASV")
   temp=ReadLine(socketstream)
   Print temp
Repeat                     
   nr:+1
   temp2=Mid(temp,nr,1)
    Select temp2
       Case "("
          nr2=1
       Case "0","1","2","3","4","5","6","7","8","9"
          if nr2 >0 Then temp3[nr2]:+temp2
       Case ","
          nr2:+1
       Case ")"
          fertig=1
    EndSelect
Until fertig=1

ip=temp3[1]+"."+temp3[2]+"."+temp3[3]+"."+temp3[4]
Print "IP:"+ip
port1=Int(temp3[5])*256+Int(temp3[6])
Print "Port:"+port1

Local Socket2:TSocket=CreateTCPSocket()
If BindSocket(Socket2,2021) Then Print "BindSocket(socket2,2021) OK"
If ConnectSocket(Socket2,HostIp(ip),port1) Then Print "ConnecSocket("+ip+" - "+port1+") OK"
SocketListen(Socket)
Print "SicketListen(socket2) OK"
Local socketstream2:TSocketStream=CreateSocketStream(Socket2)
WriteLine (socketstream,"STOR "+datei)
 file=ReadFile(datei)
 While not Eof(file)
    WriteLine socketstream2,ReadLine(file)
    Print ReadByte(file) Delay(5)
 Wend
 CloseFile(file)
EndFunction
_- jeder fängt mal an -_

BladeRunner

Moderator

BeitragSa, Nov 04, 2006 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
bitte nutz die codetags. danke
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

TheRealSephiroth

BeitragMo, Nov 13, 2006 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
oO Naja ich hab mich auch schon für so was interessiert habe aber umfabgreichere gefunden....

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group