php rmdir递归,php自定义函数rrmdir递归删除目录与目录下文件

例子,php自定义函数rrmdir。

//递归删除目录与文件

function rrmdir($dir) {

if (is_dir($dir)) {

$objects = scandir($dir);

foreach ($objects as $object) {

if ($object != “.” && $object != “..”) {

if (filetype($dir.”/”.$object) == “dir”) rrmdir($dir.”/”.$object); else unlink($dir.”/”.$object);

}

}

reset($objects);

}

}

复制代码

rmdir (PHP 4, PHP 5) rmdir — 删除目录 Report a bug 说明 bool rmdir ( string $dirname ) 尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。成功时返回 TRUE, 或者在失败时返回 FALSE. Note: 自 PHP 5.0.0 起 rmdir() 也可用于某些 URL 封装协议。参见Supported Protocols and Wrappers 的列表看看 rmdir() 支持哪些 URL 封装协议。 Note: 在 PHP 5.0.0 中增加了 对上下文(Context)的支持。有关 上下文(Context) 的说明参见 Stream 函数。 Note: 当启用 安全模式时, PHP 会在执行脚本时检查被脚本操作的目录是否与被执行的脚本有相同的 UID(所有者)。 参见 mkdir() 和 unlink()。 例子:

function rrmdir($dir) {

if (is_dir($dir)) {

$objects = scandir($dir);

foreach ($objects as $object) {

if ($object != "." && $object != "..") {

if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);

}

}

reset($objects);

rmdir($dir);

}

}

?>

复制代码

This isn't my code, but just thought I would share, since it took me so long to find. This is a function to delete a folder, all sub-folders, and files in one clean move. Just tell it what directory you want deleted, in relation to the page that this function is executed. Then set $empty = true if you want the folder just emptied, but not deleted. If you set $empty = false, or just simply leave it out, the given directory will be deleted, as well.

例子:

function deleteAll($directory, $empty = false) {

if(substr($directory,-1) == "/") {

$directory = substr($directory,0,-1);

}

if(!file_exists($directory) || !is_dir($directory)) {

return false;

} elseif(!is_readable($directory)) {

return false;

} else {

$directoryHandle = opendir($directory);

while ($contents = readdir($directoryHandle)) {

if($contents != '.' && $contents != '..') {

$path = $directory . "/" . $contents;

if(is_dir($path)) {

deleteAll($path);

} else {

unlink($path);

} // bbs.it-home.org

}

}

closedir($directoryHandle);

if($empty == false) {

if(!rmdir($directory)) {

return false;

}

}

复制代码

A patch to previous script to make sure rights for deletion is set: 例子:

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值