Ftp Server Datei hochladen Problem

  • Abend,

    ich habe das Problem, das mein Script die Datei, die in dem Script angegeben ist nicht auf meinen FTP Server lädt. Ich verstehe einfach nicht, wieso er es nicht tut, da ich mein Script des Öfteren mit dem aus der Hilfe verglichen habe und es quasi das Selbe ist.

    Könntet ihr mir bitte erklären, wieso er es nicht uploadet?

    Script :

    Spoiler anzeigen
    [autoit]


    #RequireAdmin
    #Include <FTPEx.au3>
    #include <File.au3>
    $OpenFtp = _FTP_Open('MeineSitzung')
    $Servername = 'MeinServername.ni.funpic.de' ; Hier würde normalerweise mein vollständiger Servername stehen.
    $Benutzername = 'MeinUsername' ; Hier würde normalerweise mein Benutzername stehen.
    $Passwort = 'MeinPasswort' ; Hier würde normalerweise mein Passwort stehen.
    $PTxt = @ScriptDir & "/Hochladen.txt"
    $PUpload = "/Mein.txt"
    $FtpConnect = _FTP_Connect($OpenFtp,$Servername,$Benutzername,$Passwort,1)
    _FTP_FilePut($FTPConnect,$PTxt,$PUpload,0)
    _FTP_Close($OpenFtp)

    [/autoit]
  • Ich weiß nicht obs daran liegt, aber

    [autoit]


    _FTP_Close($OpenFtp)
    ; muss zu
    _FTP_Close("MeineSitzung")
    ; geändert werden

    [/autoit]

    Außerdem:

    [autoit]


    $FtpConnect ;heißt die eine Variable
    $FTPConnect ;heißt die andere Variable
    ;Groß- und Kleinschreibung ist bei Variablen wichtig!!!

    [/autoit]
  • Beides falsch, FTP_Close wird richtig eingesetzt und AutoIt unterscheidet nicht zwischen Gross- und Kleinschreibung bei Variablennamen.

    @Julien: warum verwendest du den Passiv-Modus, hast du es auch schon im Aktivmodus probiert?
    Kannst du Daten mit FileZilla hochladen?

    In Zeile 8 ist eigentlich ein Fehler, der Slash müsste ein Backslash sein, Windows toleriert dies jedoch (also auch AutoIt.

    Wieso hast du die Fehlerbehandlung aus dem Hilfeskript weggelassen? Dann wüsstest du wenigsten wo der Fehler auftritt.

    Ich habe dein Skript sowohl im aktiven als auch im passiven Modus getestet es läuft mit meinem FTP-Account bei bplaced.

    mfg autoBert

  • Ja, ich habe es auch im Aktiv Modus probiert. Ehrlich gesagt, weiß ich nicht, was ein Slash und ein Backslash ist.
    Die Fehlerbehandlung habe ich weggelassen, da ich mir eigentlich sicher bin, das der Fehler bei dem _Ftp_FilePut liegt.
    *Was sehr komisch ist :
    " Nachdem ich vor paar Minuten meinen FTP Server gestartet habe, ist mir aufgefallen, dass nun die Textdatei ist " !
    Davor kam sie nicht sofort. Kann es vielleicht daran liegen, dass mein kostenloser FTP Server etwas langsam ist? Wo bekomme ich beispielsweise einen kostenlos FTP Server her, welcher schnell Files uploaden kann?
    Gruß,
    Julien

  • viele gratis FTP Anbieter bzw. Webhost Anbieter mit FTP Zugang lassen schon mal einige Stunden verstreichen bis die via FTP hoch geladenen Dateien dann auch per HTTP abgerufen werden können bzw. bis die Daten aktualisiert werden=)

    du kannst jedoch die Daten via FTP auch wieder abrufen und dann gibt es keine Verzögerung.
    Dafür muss aber das Login in dein Script für Eigengebrauch kein Problem.

    Ansonsten wie schon gesagt wurde oben hol dir FileZilla um zu schauen ob der Upload geklappt hat=)

  • Ja, ich habe es auch im Aktiv Modus probiert. Ehrlich gesagt, weiß ich nicht, was ein Slash und ein Backslash ist.


    Slash = /
    Backslash = \
    Unix/Linuxsysteme verwenden den Backslash in den Pfadangaben, Windows den Backslash toleriert aber den Slash indem es ihn automatisch wandelt.

    Die Fehlerbehandlung habe ich weggelassen, da ich mir eigentlich sicher bin, das der Fehler bei dem _Ftp_FilePut liegt.

    Bei FilePut können ja eigentlich nur noch ungültige Pfadangaben Schuld sein, viel warscheinlicher ist es das ein Freehoster kurzfristig Probleme mit seinem FTP-Dienst hat und dadurch nicht erreichbar ist. Andere haben eine Beschränkung auf eine gleichzeitige Verbindung, das heisst wenn du mit einem FTP-Client (z.B.: FileZilla) verbunden bist wird die Verbindung mit deinem AutoItSkript nie klappen, genauso schlägt ein 2. Verbindungsversuch deines Skriptes fehle falls vergessen wurde die FTP-Sizung wieder zu schliessen.

    *Was sehr komisch ist :
    " Nachdem ich vor paar Minuten meinen FTP Server gestartet habe, ist mir aufgefallen, dass nun die Textdatei ist " !
    Davor kam sie nicht sofort.

    Du hast einen eigen FTP-Server? Hättest du die Fehlerbehandlung eingebaut hättest du allein über die Meldungen erkennen können, dass der Upload erfolgreich war. Falls du über einen Browser dir die Dateien anschaust kann es vorkommen dass durch den Browsercache die Änderungen deiner "Index of" Seite nicht aktualiesiert wird. In diesem Fall solltest du vorher den BrowserCace leeren (FF: Extras -> neueste Chronik löschen) oder mit STRG-F5 die Seite erneut aufrufen.

    mfg autoBert

  • * Danke, habe es nun hinbekommen, habe nur bei FilePut RemoteFile mit LocalFile vertauscht ;D

    2 Mal editiert, zuletzt von Julien (19. Januar 2012 um 21:01)