Zitatalso ist meine funktion nicht das richtige?
Keine Ahnung, ich hatte mein Beispielscript noch vor deinem Edit geschrieben und deine Funktion nicht angeschaut. Ich persönlich nutze lieber _filelisttoarray als die nativen filefindfirst/next Funktionen, da dies einfacher zu handhaben und übersichtlicher ist. Grundsätzlich nutzt du aber ebenfalls Rekursion wenn ich das richtig sehe, aber ob das so alles richtig ist kann ich dir jetzt auch nicht sagen, hab keine Zeit / Lust das zu testen.
Richtig oder Falsch gibt es ohnehin nicht, viele Wege führen nach Rom. ![]()
Bei meinem Beispielscript hättest du nun zumindestens ein Array mit der kompletten Ordnerstruktur und jenachdem was du nun eigtl tun willst kannst du diese Daten wunderbar in Schleifen verwenden um z.B. die FTP Ordnerstruktur mit der lokalen Ordnerstruktur zu vergleichen und dann je nach Fall Dateien oder ganze Ordner uploaden/downloaden oder eben nichts tun.
PS:
Soweit ich das sehe erstellt deine Funktion einen verketteten String mit allen Dateien. Das wird dann vermutlich deshalb nicht funktionieren, weil deine Uploadfunktion nur eine einzige Datei haben möchte und nicht weiß was sie mit solch einem verketteten String anfangen soll. Sie heisst ja vermutlich nicht umsonst fileputsinglefile ![]()
EDIT:
Zu deinem erneuten Edit... jetzt hast du aber keine Rekursion mehr. Wenn du Unterordner und deren Dateien berücksichtigen willst benötigst du die Rekursion aus meinem Beispiel.
Hier mal ein Beispiel wie du die Dateien aller Ordner aus meinem Unterordnerbeispielscript von oben bekommst:
global $aFiles[1]
getfilesfromfolders($aResult)
_arraydisplay($aFiles)
[/autoit][autoit][/autoit][autoit]func getfilesfromFolders($aFolders)
[/autoit][autoit][/autoit][autoit]local $aTemp
[/autoit][autoit][/autoit][autoit]for $i=1 to ubound($aFolders)-1
$aTemp= _filelisttoarray($aFolders[$i],"*",1) ; nur dateien
if $aTemp = 0 then continueloop
for $j=1 to $atemp[0]
_arrayadd($aFiles,$Afolders[$i] & $aTemp[$j])
next
next
EndFunc
[/autoit][autoit][/autoit][autoit][/autoit]