<div class="codetitle"><a style="CURSOR: pointer" data="47094" class="copybut" id="copybut47094" onclick="doCopy('code47094')"> 代码如下:<div class="codebody" id="code47094"> 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()。 <div class="codetitle"><a style="CURSOR: pointer" data="38808" class="copybut" id="copybut38808" onclick="doCopy('code38808')"> 代码如下:<div class="codebody" id="code38808"> <?php 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. <div class="codetitle"><a style="CURSOR: pointer" data="16782" class="copybut" id="copybut16782" onclick="doCopy('code16782')"> 代码如下:<div class="codebody" id="code16782"> <?php function deleteAll($directory,$empty = false) { if(substr($directory,-1) == "/") { $directory = substr($directory,-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); } } } closedir($directoryHandle); if($empty == false) { if(!rmdir($directory)) { return false; } } return true; } } ?> [/code] A patch to previous script to make sure rights for deletion is set: <div class="codetitle"><a style="CURSOR: pointer" data="56303" class="copybut" id="copybut56303" onclick="doCopy('code56303')"> 代码如下:<div class="codebody" id="code56303"> <?php //Delete folder function function deleteDirectory($dir) { if (!file_exists($dir)) return true; if (!is_dir($dir) || is_link($dir)) return unlink($dir); foreach (scandir($dir) as $item) { if ($item == '.' || $item == '..') continue; if (!deleteDirectory($dir . "/" . $item)) { chmod($dir . "/" . $item,0777); if (!deleteDirectory($dir . "/" . $item)) return false; }; } return rmdir($dir); } ?> 更多说明可以参考 http://cn.php.net/rmdir (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|