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
; ------------------------------------------------------------------------------
;
;
; Language: Deutsch
; Platform: Win2k / XP
; Author: Leviathan
;
; Script Function: Ftp-Upload-Tool --> Can handle multifile-upload
;
; ------------------------------------------------------------------------------
Global $server = ''
Global $username = ''
Global $pass = ''
#include <GUIConstants.au3>
#include <ftp.au3>
#include <File.au3>
$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)
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
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
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