Sample code for 30+ languages & platforms
PHP

Remove a Remote Directory on an SFTP Server

See more SFTP Examples

Demonstrates the Chilkat SFtp.RemoveDir method, which deletes a remote directory. The only argument is the directory path.

Background: Most SFTP servers refuse to remove a directory that is not empty, so deleting a populated tree means removing its files and subdirectories first — the inverse of building a path level by level. There is no single "recursive delete" in the SFTP protocol; a client implements it by listing, descending, and removing bottom-up.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\SFtp;

// Demonstrates the SFtp.RemoveDir method, which deletes a remote directory.  The only argument
// is the directory path.

$sftp = new SFtp();

// Connect, authenticate, and initialize the SFTP subsystem.
$port = 22;
try {
    $sftp->Connect('sftp.example.com', $port);

    // Normally you would not hard-code the password in source.  You should instead obtain it
    // from an interactive prompt, environment variable, or a secrets vault.
    $password = 'mySshPassword';

    $sftp->AuthenticatePw('mySshLogin', $password);

    $sftp->InitializeSftp();

    // Delete a remote directory.  Most SFTP servers require the directory to be empty first.
    $sftp->RemoveDir('subdir/oldfolder');
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

echo "Directory removed.\n";

$sftp->Disconnect();