Start · Sprachen · PHP · Referenz · ftp_pwd

ftp_pwd

Funktion

Gibt das aktuelle Arbeitsverzeichnis auf dem FTP-Server zurück.

seit PHP 4.0.0 Kategorie: io

Signatur

ftp_pwd(FTP\Connection $ftp): string|false

Beschreibung

ftp_pwd() fragt das aktuelle Arbeitsverzeichnis (Print Working Directory) der gegebenen FTP-Verbindung ab. Die Funktion entspricht dem FTP-Befehl PWD und gibt den absoluten Pfad auf dem Server zurück.

Die Funktion ist besonders nützlich, um nach einem ftp_chdir() oder ftp_cdup() zu überprüfen, in welchem Verzeichnis man sich tatsächlich befindet. So lassen sich Navigationsfehler auf dem FTP-Server zuverlässig erkennen.

Im Fehlerfall – etwa bei einer ungültigen oder bereits geschlossenen Verbindung – gibt die Funktion false zurück. Es empfiehlt sich daher, den Rückgabewert stets mit === zu prüfen, da ein leerer String '' ebenfalls falsy ist.

Parameter

Name Typ Default Beschreibung
$ftp Pflicht FTP\Connection Eine aktive FTP-Verbindungsinstanz, wie sie von ftp_connect() oder ftp_ssl_connect() zurückgegeben wird.

Rückgabewert

Typ
string|false
Beschreibung
Gibt den aktuellen Verzeichnispfad auf dem FTP-Server als string zurück. Im Fehlerfall wird false zurückgegeben.

Beispiele

Aktuelles Verzeichnis nach dem Login ausgeben

<?php
$ftp = ftp_connect('ftp.example.com');
if ($ftp === false) {
    die('Verbindung fehlgeschlagen.');
}

if (!ftp_login($ftp, 'benutzer', 'geheim')) {
    die('Anmeldung fehlgeschlagen.');
}

$verzeichnis = ftp_pwd($ftp);
if ($verzeichnis === false) {
    echo 'Verzeichnis konnte nicht abgerufen werden.';
} else {
    echo 'Aktuelles Verzeichnis: ' . $verzeichnis;
}

ftp_close($ftp);
Aktuelles Verzeichnis: /home/benutzer

Verzeichniswechsel und Kontrolle per ftp_pwd

<?php
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'benutzer', 'geheim');

echo 'Vorher: ' . ftp_pwd($ftp) . PHP_EOL;

if (ftp_chdir($ftp, 'public_html')) {
    echo 'Nachher: ' . ftp_pwd($ftp) . PHP_EOL;
} else {
    echo 'Verzeichniswechsel fehlgeschlagen.' . PHP_EOL;
}

ftp_cdup($ftp);
echo 'Nach cdup: ' . ftp_pwd($ftp) . PHP_EOL;

ftp_close($ftp);
Vorher: /home/benutzer Nachher: /home/benutzer/public_html Nach cdup: /home/benutzer

// Wichtig · Fallstricke

Ab PHP 8.1.0 ist der Typ des Parameters $ftp nicht mehr resource, sondern eine Instanz der Klasse FTP\Connection. Älterer Code, der resource-Typhinweise verwendet, muss entsprechend angepasst werden.

Stellen Sie sicher, dass die FTP-Verbindung noch aktiv ist, bevor Sie ftp_pwd() aufrufen. Bei Verbindungsabbrüchen oder Timeouts kann false zurückgegeben werden, ohne dass eine PHP-Warnung ausgelöst wird.