WinSCP FTP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • WinSCP FTP

    Hallo,

    ich habe einen Server mit dem man sich über WinSCP verbinden muss und wo mein FTP Script nicht funktioniert. Was muss ich da besonderes beachten?

    Hier ist mal der Code falls es hilft:

    PHP-Code:
    // Herstellen der Basis-Verbindung und Prüfen der Verbindung
    if (($conn_id ftp_connect("$ftp_server",22,10)) == FALSE) {
            echo 
    "<br><br>ftp_connect fehlgeschlagen!<br>";
            echo 
    "<br>Verbindung mit $ftp_server nicht möglich."
            die; 
        }
            
    // Einloggen mit Benutzername und Kennwort und Prüfen des Logins
    if (($login_result ftp_login($conn_id"$ftp_username""$ftp_passwrd")) == FALSE) {
            echo 
    "<br><br>ftp_login fehlgeschlagen!";
            echo 
    "<br>Verbindung als Benutzer $ftp_username nicht möglich."
            die; 
        }

    // Verbindung überprüfen
    if ((!$conn_id) || (!$login_result)) { 
            echo 
    "Ftp-Verbindung nicht hergestellt!<br>";
            echo 
    "Verbindung mit $ftp_server als Benutzer $ftp_username nicht möglich"
            die; 
        } else {
            
    //echo "Verbunden mit $ftp_server als Benutzer $ftp_username"; 
    Port is der richtige und Fehlermeldung ist:

    Warning: ftp_login() expects parameter 1 to be resource, boolean given in *********/bildermanager/connect.php on line 8
    Ftp-Verbindung nicht hergestellt!
    Verbindung mit ****** als Benutzer ***** nicht möglich
    Für jeden Tip dankbar
    Zuletzt geändert von qualle; 08.08.2006, 13:48.

  • #2
    mach mal bei dem ftp_connect den letzten Port weg. Bzw. wieso gibst du da zwei Ports an?
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Manual
      resource ftp_connect ( string host [, int port [, int timeout]] )
      Gib doch die Parameter als int an und nicht als String

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Benny-one: Das 2. ist der Timeout.


        jahlives: Erledigt. Selbe Fehlermeldung.

        Kommentar


        • #5
          aber wenn du einen normalen FTP-Client verwendest funktioniert es?

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Ja, das Script kam schon mehrfach zum Einsatz.

            Als FTP Server gebe ich "domain.de" an.

            Wenn ich "ftp.domain.de" angebe kommt:

            Warning: ftp_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in
            Bei "ftp://ftp.domain.de" das gleiche.

            Kommentar


            • #7
              ftp_connect() gibt zurück:
              - einen stream bei Erfolg
              - FALSE (oder 0, wie auch immer) bei Fehler

              Deine zu späte Fehlerbehandlung sagt:
              "ftp_login() expects parameter 1 to be resource, boolean given"
              Deine $conn_id enthält also eine 0 anstatt des erwünschten streams
              PHP-Code:
              if (($conn_id ftp_connect("$ftp_server",22,10)) == FALSE)
              {
                  
              Fehlerbehandlung();
              }
              ... 
              string

              Kommentar


              • #8
                String: Ja, weil der ftp_connect fehlschlägt.

                Ich hab den Code aber trotzdem wie vorgeschlagen korrigiert.
                Siehe oben.


                Fehlermeldung jetzt natürlich:

                ftp_connect fehlgeschlagen!

                Kommentar


                • #9
                  Gibt es einen Unterschied zwischen: 'telnet ftp.domain.tld 22' und 'telnet domain.tld 22'?

                  edit.
                  Jetzt bin ich auch noch darauf reingefallen. Probier es mit Port 21, das dürfte eher hinkommen.
                  Zuletzt geändert von string; 08.08.2006, 14:17.

                  Kommentar


                  • #10
                    Original geschrieben von string
                    Gibt es einen Unterschied zwischen: 'telnet ftp.domain.tld 22' und 'telnet domain.tld 22'?
                    ja, das sind unterschiedliche Domains, ftp.domain.tld kann zu einer ganz anderen IP führen als domain.tld

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Ohje, ich hätt auch gleich richtig lesen können. Port 22 ist ja richtig aber scp != ftp.

                      Kommentar


                      • #12
                        String: Heißt das ich kann die ftp_xxx Funktionen für SCP garnet nutzen?

                        Kommentar


                        • #13
                          Dein Verbindungsziel ist ein ssh-Server?
                          http://www.php.net/manual/de/function.ssh2-scp-send.php
                          http://www.php.net/manual/de/function.ssh2-scp-recv.php

                          Kommentar


                          • #14
                            Eueu, da kann ich ja alles umschreiben...
                            Danke für den Link! Ich les mich mal rein.

                            Kommentar

                            Lädt...
                            X