_FTP_ListToArray immer leer

  • Hallo,

    ich versuche den Inhalt eine FTP Server mit

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>
    #include <Array.au3>
    $ftpserver = "xxxxx.xx"
    $ftpuser = "xxxxxxx"
    $ftppwd = "xxxxxxx"
    $ftpfolder = "httpdocs/"

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

    $Open = _FTP_Open('MyFTP Control')

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

    $Conn = _FTP_Connect($Open, $ftpserver, $ftpuser, $ftppwd)
    ConsoleWrite($Conn & @CRLF)

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

    $current = _FTP_DirGetCurrent($Conn)
    ConsoleWrite($current & @CRLF)

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

    _FTP_DirSetCurrent($Conn, $ftpfolder)
    $folder = _FTP_DirGetCurrent($Conn)
    ConsoleWrite($folder & @CRLF)

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

    $Liste2 = _FTP_ListToArray($Conn)
    _ArrayDisplay($Liste2)

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

    $Ftpc = _FTP_Close($Open)

    [/autoit]


    aus zu lesen, aber der ist immer leer. Das faszinierende daran ist, dass alle anderen FTP Kommandos funktionieren. Ich kann Ordner erzeugen usw.. nur die Liste geht nicht :(

    Gibt es da einen bestimmten trick?

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    2 Mal editiert, zuletzt von franzp (16. Juli 2010 um 16:23)

  • Hi,
    probier mal den passiven Modus

    [autoit]

    $Conn = _FTP_Connect($Open, $server, $username, $pass, 1)

    [/autoit]

    dann sollte es klappen

    Nächster Tip^^
    wenn du beabsichtigst, Dateien downzuloaden, dann solltest du unbedingt darauf achten, die Daten nicht aus dem lokalen Cache zu holen!

    [autoit]

    $file = _FTP_FileGet($Conn, "feed.xml", "feed_local.xml", False, 0, $INTERNET_FLAG_RELOAD)

    [/autoit]
  • vielen Dank, passive mode geht :D

    und danke für den cache tipp.

    eine frage hätte ich noch. Wie unterscheided ihr in den Array, ob es ein Ordner oder eine datei ist... Könnte man natürlich einfach prüfen, ob man in den Ordner wechseln kann oder nicht.
    Aber vielleicht gibt es ja eine einfachere Lösung?

    schöne Grüße

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    Einmal editiert, zuletzt von franzp (16. Juli 2010 um 16:25)

  • *kicher* na gut, ich verrate dir, wie ich es mache....
    schau mal auf den 2. Parameter bei

    [autoit]

    _FTP_ListToArray()

    [/autoit]

    ...na, wirds hell?

    Spoiler anzeigen
    [autoit]

    $aVerzeichnisse = _FTP_ListToArray($Conn,1)
    $aDateien = _FTP_ListToArray($Conn,2)

    [/autoit]

    alternativ

    [autoit]

    _FTP_ListToArrayEX()

    [/autoit]

    und die Attribute der Dateien/Verzeichnisse auswerten