kostenloser Webspace werbefrei: lima-city


ftp_chdir() -ich kriege den Pfad nicht gewechselt

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Ich habe folgende Funktion

    function ftp_chdir_server($chdir){
        global $conn_id;
        if (ftp_chdir($conn_id, $chdir)) {
        echo "Aktuelles Verzeichnis: " . ftp_pwd($conn_id) . "\n";}else{
        echo "Verzeichniswechsel ist fehlgeschlagen.\n";
        echo ftp_pwd($conn_id);
    }}


    In der $conn_id ist die Verbindung, die auch zu Stande kommt.
    Dennoch kriege ich den Pfad nicht gewechselt ich habe schon viele Möglichkeiten ausprobiert:

    ftp_chdir_server("./test2/");
    ftp_chdir_server("./test2");
    ftp_chdir_server("/test2/");
    ftp_chdir_server("/test2");
    ftp_chdir_server("test2/");
    ftp_chdir_server("test2");

    Das Verzeichnis test existiert und ist in dem eigenem Verzeichnis von mir.
    Dennoch kommt immer, ist egal was ich ausprobiere:

    Verzeichniswechsel ist fehlgeschlagen.

    Ich hoffe einer kann mir helfen.

    P.s. mit ftp_pwd($conn_id) kriege ich auch nicht das aktuelle Verzeichnis angezeigt

    Beitrag zuletzt geändert: 19.1.2014 9:53:04 von willstdueswissen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. willstdueswissen schrieb:
    ... ich habe schon viele Möglichkeiten ausprobiert:

    ftp_chdir_server("./test2/");
    ftp_chdir_server("./test2");
    ftp_chdir_server("/test2/");
    ftp_chdir_server("/test2");
    ftp_chdir_server("test2/");
    ftp_chdir_server("test2");

    Das Verzeichnis test existiert und ist in dem eigenem Verzeichnis von mir ...
    moooment! heißt dein verzeichnis jetz test o. test2?
  4. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Natürlich test2, so dämliche bin ich ja jetzt auch nicht :tongue:

    Und zwar direkt im root Verzeichnis.

    Und ftp_pwd () funktioniert ja auch nicht :wall:
  5. willstdueswissen schrieb:
    Natürlich test2, so dämliche bin ich ja jetzt auch nicht :tongue:

    Und zwar direkt im root Verzeichnis.

    Und ftp_pwd () funktioniert ja auch nicht :wall:
    eine geistige bewertung fand nicht statt ;) irren kann sich ein jeder.

    so sollte es funzen
    <?php
    
    if($ftp_stream = ftp_connect('ftp.lima-city.de')) {
      if(ftp_login($ftp_stream, 'willstdueswissen', '¿¿blaaaaa??')) {
        ftp_chdir_server('./test2');
        $ls = ftp_rawlist($ftp_stream, '', false);
        ftp_close($ftp_stream);
      } else {
        // login failed ...
      }
    } else {
      // connection failed ...
    }
    
    
    exit('<hr><pre>'.print_r($ls, true));
    
    
    function ftp_chdir_server($chdir) {
      global $ftp_stream;
      if(ftp_chdir($ftp_stream, $chdir)) {
        echo "<p>Aktuelles Verzeichnis: " . ftp_pwd($ftp_stream) . "</p>\n";
      } else {
        echo "<p>Verzeichniswechsel ist fehlgeschlagen.</p>\n";
        echo ftp_pwd($ftp_stream);
      }
    }
    (tut es sich bei mir.)
  6. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Jetzt habe ich deinen Code ein zu eins übernommen.
    Nun geht er immer in dem else von dem login hinein.
    Warum?

    Okay das einzige was ich gemacht habe ist, das ich den Benutzename und das Passwort in einer Variable gespeichert.

    Die Angaben sind richtig.

    Warum fliege ich nun beim Login raus?
  7. willstdueswissen schrieb:
    ... Nun geht er immer in dem else von dem login hinein.
    Warum?
    ka! bist du sicher, dass deine angaben richtig sind? bist du überhaupt bei lima?

    gib mir deinen code wie es ist. (ohne passwort!)
  8. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Der Code

    function ftp_connect_server(){
    $user=trim($_POST['user']);
    $password=trim($_POST['password']);
       if( $conn_id = ftp_connect('ftp.lima-city.de') ) {
       if( ftp_login($conn_id, $user, $password) ){
    ftp_chdir_server('./test2');
       return true;
       } else {
       echo "Fehler Login";
       }
       } else {
       echo "Fehler Verbindung";
       }
    }
    
    function ftp_chdir_server($chdir){
        global $conn_id;
        if (ftp_chdir($conn_id, $chdir)) {
        echo "Aktuelles Verzeichnis: " . ftp_pwd($conn_id) . "\n";}else{
        echo "Verzeichniswechsel ist fehlgeschlagen.\n";
        echo "Aktuell" . ftp_pwd($conn_id);
    }}


    Undich komme immer zum Fehler Login

    Beitrag zuletzt geändert: 24.1.2014 16:43:05 von willstdueswissen
  9. willstdueswissen schrieb:
    ... Undich komme immer zum Fehler Login
    die fehlermeldung kann nur heißen, dass user u/o. password ungültig/leer sind. gib als test einfach mit echo aus.

    ok! ganz von vorne.
    in ftp_connect_server():
    - user, passwod, hostname und dirname sollten unbedingt aus der function raus. die begründung ist einfach: weil eine function ja wiederverwendbar sein sollte, dürfte man nichts hardcodiertes reintun.
    - die variable $conn_id sollte global sein, weil du ja in der anderen function verwenden willst.

    demnach sind die 2 functionen (+ test):
    <?php
    // czibere.lima-city.de/_forum/willstdueswissen/ftp_chdir-ich-kriege-den-pfad-nicht-gewechselt/index_2.php
    error_reporting(E_ALL | E_STRICT);
    
    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
    
    $user     = trim($_POST['user']);
    $password = trim($_POST['password']);
    $dir      = '/test2';
    $host     = 'ftp.lima-city.de';
    
    ftp_connect_server($host, $user, $password, $dir);
    $ls = ftp_rawlist($conn_id, '', false);
    exit('<hr><pre>'.print_r($ls, true));
    
    
    function ftp_connect_server($h, $u, $p, $d) {
      global $conn_id;
    
      if($conn_id = ftp_connect($h)) {
        if(ftp_login($conn_id, $u, $p)) {
          ftp_chdir_server($d);
          return true;
        } else {
          echo 'Fehler Login';
        }
      } else {
        echo 'Fehler Verbindung';
      }
    }
    
    function ftp_chdir_server($chdir) {
      global $conn_id;
    
      if (ftp_chdir($conn_id, $chdir)) {
        echo 'Aktuelles Verzeichnis: ' . ftp_pwd($conn_id) . "\n";
      } else {
        echo "Verzeichniswechsel ist fehlgeschlagen.\n";
        echo 'Aktuell' . ftp_pwd($conn_id);
      }
    }
    noch etwas: verwende in functionen kein echo, print &co.!
    functionen sollten 'ergebnisse' zurückgeben: return true/false/-1/3 o. was auch immer und nicht bildschirminhalte ungestüm manipulieren.

    (was die zeilen 5 und 6 wollen, ist ein teil verzweitelter versuche, kommt in einem anderen thread.)




    Beitrag zuletzt geändert: 28.1.2014 1:24:05 von czibere
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!