ftp_chdir() -ich kriege den Pfad nicht gewechselt
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuelles verzeichnis
angabe
code
eigenem verzeichnis
ergebnis
fehler
file
ftp
geistige bewertung
header
host
http
krieg
login
pfad
teil
test
url
verbindung
verzeichnis
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
willstdueswissen schrieb:
moooment! heißt dein verzeichnis jetz test o. test2?
... 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 ... -
Natürlich test2, so dämliche bin ich ja jetzt auch nicht
Und zwar direkt im root Verzeichnis.
Und ftp_pwd () funktioniert ja auch nicht -
willstdueswissen schrieb:
eine geistige bewertung fand nicht statt ;) irren kann sich ein jeder.
Natürlich test2, so dämliche bin ich ja jetzt auch nicht
Und zwar direkt im root Verzeichnis.
Und ftp_pwd () funktioniert ja auch nicht
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.) -
willstdueswissen schrieb:
ka! bist du sicher, dass deine angaben richtig sind? bist du überhaupt bei lima?
... Nun geht er immer in dem else von dem login hinein.
Warum?
gib mir deinen code wie es ist. (ohne passwort!) -
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 -
willstdueswissen schrieb:
die fehlermeldung kann nur heißen, dass user u/o. password ungültig/leer sind. gib als test einfach mit echo aus.
... Undich komme immer zum Fehler Login
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage