CakeFest 2024: The Official CakePHP Conference

ftp_rmdir

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

ftp_rmdir删除目录

说明

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

删除 FTP 服务器上 directory 参数指定的目录。

参数

ftp

FTP\Connection 实例。

directory

要删除的目录。必须是一个空目录的绝对路径或相对路径。

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.1.0 现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource

示例

示例 #1 ftp_rmdir() 示例

<?php
$dir
= 'www/';

// 简单基本连接
$ftp = ftp_connect($ftp_server);

// 使用用户名和密码进行登录
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// 尝试删除 $dir 目录
if (ftp_rmdir($ftp, $dir)) {
echo
"Successfully deleted $dir\n";
} else {
echo
"There was a problem while deleting $dir\n";
}

ftp_close($ftp);

?>

参见

add a note

User Contributed Notes 2 notes

up
4
johan dot kerreneur at gmail dot com
3 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
12 years ago
Please note that this function, like rmdir, requires that the directory be empty.
To Top