kleines Fileupload tool

  • hier mal ein kleines Uploadtool kann vllt. anderen helfen ein paar sachen zu verstehen ;)

    Es kann eine Datei oder mehrere auf einmal hochladen. Atm lädt es die Dateien immer in das selbe Verzeichnis, aber das kann man ja mit ner variable und nem Inputfeld hinzufügen. Achja falls iihr den Code anschaut denkt immer an mein Motto: Confused coding

    Die benötigte ftp.au3 könnt ihr hier laden: Download

    Spoiler anzeigen
    [autoit]


    ; ------------------------------------------------------------------------------
    ;
    ;
    ; Language: Deutsch
    ; Platform: Win2k / XP
    ; Author: Leviathan
    ;
    ; Script Function: Ftp-Upload-Tool --> Can handle multifile-upload
    ;
    ; ------------------------------------------------------------------------------
    Global $server = ''
    Global $username = ''
    Global $pass = ''

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include <ftp.au3>
    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $maingui = GUICreate("FileUploader Extened by Leviathan", 404, 190, 193, 115)
    $choosefilelabel = GUICtrlCreateLabel("Choose File:", 8, 40, 74, 17)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $fileinput = GUICtrlCreateInput("", 104, 40, 233, 17)
    $butt_open = GUICtrlCreateButton("Open", 344, 40, 57, 17, 0)
    $filenameonserverlabel = GUICtrlCreateLabel("Filename on Server:", 0, 72, 98, 17)
    $filename = GUICtrlCreateInput("", 104, 72, 233, 17)
    $butt_upload = GUICtrlCreateButton("Upload", 104, 104, 73, 17, 0)
    $your_link = GUICtrlCreateInput("", 104, 160, 233, 17)
    GUICtrlCreateLabel("your link:", 8, 160, 46, 17)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg(1)
    If $msg[0] = $GUI_EVENT_CLOSE AND $msg[1] =$maingui Then Exit
    IF $msg[0] = $butt_open AND $msg[1] = $maingui Then _fileopendialog()
    If $msg[0] = $butt_upload AND $msg[1] = $maingui Then _buttonupload()
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _fileopendialog()
    Global $file = FileOpenDialog("Choose File", @MyDocumentsDir, "All (*.*)", 7)
    $multifile = StringInStr($file, "|")
    If $multifile <> 0 then
    GUICtrlSetStyle($filename, $ES_READONLY)
    GUICtrlSetData($filename, "Multifileupload")
    Global $multifile = 1
    Else
    Global $multifile = 0
    GUICtrlSetData($fileinput, $file)
    EndIf
    EndFunc ;=> _fileopendialog

    [/autoit] [autoit][/autoit] [autoit]

    Func _buttonupload()
    If $multifile = 1 then
    $multifile = StringSplit($file, "|")
    $link=""
    For $i = 1 To $multifile[0]
    $UPLOADFILE=$multifile[$i]
    $fnos = StringSplit($multifile[$i], "\")
    $FTPFILENAME = $fnos[$fnos[0]]
    $Open = _FTPOpen('Fileupload')
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    $Ftpp = _FtpPutFile($Conn, $UPLOADFILE, $FTPFILENAME)
    $Ftpc = _FTPClose($Open)
    $link = $link & "http://leviathan-design.de/~upload1/"&$FTPFILENAME&" |"
    Next
    $link = StringTrimRight($link, 2)
    GUICtrlSetData($your_link, $link)
    Beep(767, 50)
    GUICtrlSetStyle($filename, $GUI_SS_DEFAULT_INPUT)
    GUICtrlSetData($filename, "")
    Msgbox(1,"Achtung","Upload beendet!")
    Else
    If $multifile = 0 then
    $fn = guictrlread($filename)
    If $fn = "" Then
    $fnos = StringSplit($file, "\")
    $k = $fnos[0]
    $FTPFILENAME = $fnos[$k]
    ;Msgbox(1,"34", $FTPFILENAME) ;test
    GUICtrlSetData($filename, $FTPFILENAME)
    Else
    $FTPFILENAME = $fn
    EndIf
    GUICtrlSetStyle($filenameonserverlabel, -1)
    GUICtrlSetData($filenameonserverlabel, "")
    $UPLOADFILE = $file
    $fnos = StringSplit($file, "\")
    $Open = _FTPOpen('Was hier steht ist egal')
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    $Ftpp = _FtpPutFile($Conn, $UPLOADFILE, $FTPFILENAME)
    $Ftpc = _FTPClose($Open)
    $link = "http://leviathan-design.de/~upload1/"&$FTPFILENAME
    Beep(767, 50)
    GUICtrlSetData($your_link, $link)
    Msgbox(1,"Achtung","Upload beendet!")
    GUICtrlSetData($fileinput, "")
    GUICtrlSetData($filename, "")
    EndIf
    EndIf
    GUICtrlSetStyle($filename, -1)
    GUICtrlSetData($filename, "")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]