Hallo,
ich möchte gerne mein erstes Skrip präsentieren:
Es handelt sich um ein Uploadskript, dass speziell für Bilder ausgelegt ist, damit man schnell den passenden BB-Code parat hat.
Ausgabe:
- Url
- BBC
- Thumnail - BBC
Features:
- Progressbar
- Pfad zum Bild kann via Parameter übergeben werden
- Settings werden in .ini Datei gespeichert
- Erkennung ob Datei schon vorhanden ist
Beispiele:
- Url:
- BBC:
- Thumb:
Um die Ausgabe als Thumbnail zu ermöglichen wird die thumb.php (mitgeliefert) benötigt. Diese ist auf einen Webspace (mit php) hochzuladen. thumb.php unterstüzt .gif, .jpg, .png. Hochgeladen werden können alle Dateien (auch Nicht-Bilder).
Solange mein Webspace online ist, kann diese thumb.php benutzt werden: http://bubc.bu.funpic.de/bilder/thumb.php
Script:
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.5.1 (beta)
Author: ChrisEU
Script Function:
Bildupload
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Opt("TrayMenuMode",1)
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <FTP_Ex.au3>
If $cmdline[0] = 0 Then
$dateifelddefault = ""
Else
$dateifelddefault = $cmdline[1]
EndIf
#Region ### START Koda GUI section ### Form=
$MainForm = GUICreate("Bildupload by ChrisEU", 401, 155, 318, 294)
$dateifeld = GUICtrlCreateInput("", 32, 24, 217, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$Durchsuchen = GUICtrlCreateButton("Durchsuchen", 264, 16, 97, 33, $WS_GROUP)
$Progress1 = GUICtrlCreateProgress(32, 64, 329, 25)
$Upload = GUICtrlCreateButton("Upload", 32, 104, 97, 25, $WS_GROUP)
$Beenden = GUICtrlCreateButton("Beenden", 264, 104, 97, 25, $WS_GROUP)
$Einstellungen = GUICtrlCreateButton("Einstellungen", 144, 104, 105, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_readsettings()
[/autoit] [autoit][/autoit] [autoit]If $cmdline[0] > 0 Then
$pfad = $cmdline[1]
If not $pfad = "" then
GUICtrlSetData($dateifeld,$pfad)
$a=StringInStr($pfad,"\",0,-1)
$UploadFileName=StringTrimLeft($pfad,$a)
$filesize = FileGetSize($pfad)
While InetGetSize($url&"/"&$unterv&"/"&$UploadFileName) > 0
msgbox(64,"Fehler||Bildupload by ChrisEU","Achtung, die Datei "&$UploadFileName&" existiert schon!")
$zaehler = 1
$UploadFileNameP = $UploadFileName
While InetGetSize($url&"/"&$unterv&"/"&$UploadFileNameP) > 0
$UploadFileNameP = $zaehler&"_"&$UploadFileName
$zaehler=$zaehler +1
Wend
$UploadFileName = InputBox("Neuer Name||Bildupload by ChrisEU","Bitte gib einen neuen Namen an (auf die Dateiendung achten!): ",$UploadFileNameP)
WEnd
EndIf
EndIf
If Not FileExists("settings.ini") Then
_settings()
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Durchsuchen
$pfad = FileOpenDialog("Durchsuchen","","Alle (*.*)",2)
If not $pfad = "" then
GUICtrlSetData($dateifeld,$pfad)
$a=StringInStr($pfad,"\",0,-1)
$UploadFileName=StringTrimLeft($pfad,$a)
$filesize = FileGetSize($pfad)
While InetGetSize($url&"/"&$unterv&"/"&$UploadFileName) > 0
msgbox(64,"Fehler||Bildupload by ChrisEU","Achtung, die Datei "&$UploadFileName&" existiert schon!")
$zaehler = 1
$UploadFileNameP = $UploadFileName
While InetGetSize($url&"/"&$unterv&"/"&$UploadFileNameP) > 0
$UploadFileNameP = $zaehler&"_"&$UploadFileName
$zaehler=$zaehler +1
Wend
$UploadFileName = InputBox("Neuer Name||Bildupload by ChrisEU","Bitte gib einen neuen Namen an (auf die Dateiendung achten!): ",$UploadFileNameP)
WEnd
EndIf
Case $Upload
If GUICtrlRead($dateifeld) = "" Then
MsgBox(64,"Bildupload by ChrisEU","Bitte wähle eine Datei!")
Else
$open = _FTPOpen('Bildupload')
$conn = _FTPConnect($open, $server, $username, $pass)
If $conn = 0 Then
MsgBox(64,"Fehler||Bildupload by ChrisEU","Fehler bei der Verbindung mit dem Server! Bitte überprüfe die Einstellungen.")
Else
$putfile = _FTP_UploadProgress($conn,$pfad,"/"&$unterv&"/"&$UploadFileName, "_UpdateParts")
_ausgabe($url&"/"&$unterv&"/"&$UploadFileName,"","")
EndIf
EndIf
Case $Einstellungen
_settings()
Case $Beenden
Exit
EndSwitch
WEnd
Func _UpdateParts($percent)
GUICtrlSetData($Progress1,$percent)
If _IsPressed("77") Then Return 0
Return 1 ; bei 1 Fortsetzten
Endfunc
Func _ausgabe($Furl,$Fbbc,$Fthumb)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Fertig||Bildupload by ChrisEU", 301, 135, 192, 124)
$inputUrl = GUICtrlCreateInput($Furl, 72, 16, 209, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$inputBBC = GUICtrlCreateInput($Fbbc, 72, 48, 209, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$inputThumb = GUICtrlCreateInput($Fthumb, 72, 80, 209, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$Label1 = GUICtrlCreateLabel("URL:", 16, 16, 29, 17)
$Label2 = GUICtrlCreateLabel("BBC:", 16, 48, 28, 17)
$Label3 = GUICtrlCreateLabel("Thumb:", 16, 80, 40, 17)
$fertigok = GUICtrlCreateButton("OK", 80, 104, 145, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg1 = GUIGetMsg()
Switch $nMsg1
Case $GUI_EVENT_CLOSE
GUIDelete($Form1)
GUICtrlSetData($dateifeld,"")
GUICtrlSetData($Progress1,"0")
ExitLoop
Case $fertigok
GUIDelete($Form1)
GUICtrlSetData($dateifeld,"")
GUICtrlSetData($Progress1,"0")
ExitLoop
EndSwitch
WEnd
EndFunc
Func _settings()
#Region ### START Koda GUI section ### Form=
$settings = GUICreate("Einstellungen||Bildupload by ChrisEU", 280, 290, 261, 126)
$lblServer = GUICtrlCreateLabel("Server:", 16, 40, 38, 17)
$lblBenutzer = GUICtrlCreateLabel("Benutzer:", 16, 72, 49, 17)
$lblPasswort = GUICtrlCreateLabel("Passwort:", 16, 104, 50, 17)
$lblUrl = GUICtrlCreateLabel("URL:", 16, 136, 29, 17)
$lblUnterv = GUICtrlCreateLabel("Unterverzeichnis:", 16, 168, 86, 17)
$lblThumb = GUICtrlCreateLabel("thumb.php:", 16, 200, 57, 17)
$inputServer = GUICtrlCreateInput($server, 112, 40, 145, 21)
$inputBenutzer = GUICtrlCreateInput($username, 112, 72, 145, 21)
$inputPasswort = GUICtrlCreateInput($pass, 112, 104, 145, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
$inputURL = GUICtrlCreateInput($url, 112, 136, 145, 21)
$inputUnterv = GUICtrlCreateInput($unterv, 112, 168, 145, 21)
$inputThumb = GUICtrlCreateInput($thumbphp, 112, 200, 145, 21)
$ok = GUICtrlCreateButton("OK", 48, 240, 185, 25, $WS_GROUP)
$lblEinst = GUICtrlCreateLabel("Einstellungen", 0, 0, 276, 40, $SS_CENTER)
GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($settings)
ExitLoop
Case $ok
$server = GUICtrlRead($inputServer)
$username = GUICtrlRead($inputBenutzer)
$pass = GUICtrlRead($inputPasswort)
$url = GUICtrlRead($inputURL)
$unterv = GUICtrlRead($inputUnterv)
$thumbphp = GUICtrlRead($inputThumb)
IniWrite("settings.ini","1","server",$server)
IniWrite("settings.ini","1","username",$username)
IniWrite("settings.ini","1","password",$pass)
IniWrite("settings.ini","2","url",$url)
IniWrite("settings.ini","2","subdir",$unterv)
IniWrite("settings.ini","2","thumbphp",$thumbphp)
GUIDelete($settings)
ExitLoop
EndSwitch
WEnd
EndFunc
Func _readsettings()
Global $server = IniRead(@ScriptDir & "/settings.ini","1","server","")
Global $username = IniRead(@ScriptDir & "/settings.ini","1","username","")
Global $pass = IniRead(@ScriptDir & "/settings.ini","1","password","")
Global $url = IniRead(@ScriptDir & "/settings.ini","2","url","")
Global $unterv = IniRead(@ScriptDir & "/settings.ini","2","subdir","")
Global $thumbphp = IniRead(@ScriptDir & "/settings.ini","2","thumbphp","")
EndFunc