PHP Conference Nagoya 2025

ftp_rmdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rmdirRemoves a directory

Description

ftp_rmdir(FTP\Connection $ftp, string $directory): bool

Removes the specified directory on the FTP server.

Parameters

ftp

An FTP\Connection instance.

directory

The directory to delete. This must be either an absolute or relative path to an empty directory.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.1.0 The ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.

Examples

Example #1 ftp_rmdir() example

<?php

$dir
= 'www/';

// set up basic connection
$ftp = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// try to delete the directory $dir
if (ftp_rmdir($ftp, $dir)) {
echo
"Successfully deleted $dir\n";
} else {
echo
"There was a problem while deleting $dir\n";
}

ftp_close($ftp);

?>

See Also

add a note

User Contributed Notes 2 notes

up
4
johan dot kerreneur at gmail dot com
4 years ago
ftp_rmdir() delete only empty folders...

if you want to delete the entire contents of a folder try its.

Exemple...

<?php
$ftp_server
= "YourIP";
$ftp_user_name = "YourUsername";
$ftp_user_pass = "YourPassword";

// Connection
echo "Connecting to $ftp_server";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//Enable PASV ( Note: must be done after ftp_login() )
ftp_pasv($conn_id, true);

// check connection
if((!$conn_id) || (!$login_result)){
die(
"FTP connection has failed !");
}
echo
"<br/>Login Ok.";

// Function to delete an entire folder
function ftp_rrmdir($conn_id, $directory){
$lists = ftp_mlsd($conn_id, $directory);
unset(
$lists[0]);
unset(
$lists[1]);

foreach(
$lists as $list){
$full = $directory . '/' . $list['name'];

if(
$list['type'] == 'dir'){
ftp_rrmdir($conn_id, $full);
}else{
ftp_delete($conn_id, $full);
}
}

ftp_rmdir($conn_id, $directory);
return
true;
}

//Now run ftp_rrmdir()
if(ftp_rrmdir($conn_id, 'YOUR/PATH/')){
echo =
"Folder deleted !";
}

//close
ftp_close($conn_id);

?>
up
4
karl AT karlgroves.com
13 years ago
Please note that this function, like rmdir, requires that the directory be empty.
To Top