PHP 删除一个目录及目录下的所有文件的函数代码

代码如下:

/*****
*@dir - Directory to destroy
*@virtual[optional]- whether a virtual directory
*/
function destroyDir($dir, $virtual = false)
{
$ds = DIRECTORY_SEPARATOR;
$dir = $virtual ? realpath($dir) : $dir;
$dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;
if (is_dir($dir) && $handle = opendir($dir))
{
while ($file = readdir($handle))
{
if ($file == '.' || $file == '..')
{
continue;
}
elseif (is_dir($dir.$ds.$file))
{
destroyDir($dir.$ds.$file);
}
else
{
unlink($dir.$ds.$file);
}
}
closedir($handle);
rmdir($dir);
return true;
}
else
{
return false;
}
}

(0)

相关推荐

  • PHP删除目录及目录下所有文件的方法详解

    函数代码一:删除目录及目录下的所有文件 复制代码 代码如下: //循环删除目录和文件函数function delDirAndFile( $dirName ){if ( $handle = opendir( "$dirName" ) ) {while ( false !== ( $item = readdir( $handle ) ) ) {if ( $item != "." && $item != ".." ) {if ( is_

  • PHP中使用glob函数实现一句话删除某个目录下的所有文件

    收集自网上: 复制代码 代码如下: array_map('unlink',glob('*')); 抛砖引玉而已,有很多朋友可能还不知道有glob这个函数吧.更多的用法看手册吧. PHP glob() 函数 定义和用法 glob() 函数返回匹配指定模式的文件名或目录. 该函数返回一个包含有匹配文件 / 目录的数组.如果出错返回 false. 语法 复制代码 代码如下: glob(pattern,flags) 参数 描述 file 必需.规定检索模式. size 可选.规定特殊的设定. GLOB_

  • 使用array_map简单搞定PHP删除文件、删除目录

    废话不多说,直接贴上代码.本文体现的就是简洁 复制代码 代码如下: <?php   //删除目录下所有空目录 array_map('rmdir', glob('*', GLOB_ONLYDIR));   //删除目录所有文件 array_map('unlink', array_filter(glob('*'), 'is_file')); 使用array_map实现array_column功能: 复制代码 代码如下: $data = array(     array(         'a' =>

  • rrmdir 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.

  • php自定义函数之递归删除文件及目录

    复制代码 代码如下: /*------------------ */ //– 递归删除文件及目录 //– 例: del_dir ('../cache/');注意:返回的/是必须的 //– $type 强制删除目录, true 是 ,false 否 /*------------------ */ function del_dir ($dir,$type=true) { $n=0; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($fil

  • PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)

    复制代码 代码如下: <?php/*** 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 )* 时间:2006/5/9* 作者:欣然随风* QQ:276624915*/class class_ftp{    public $off; // 返回操作状态(成功/失败)    public $conn_id; // FTP连接    /**     * 方法:FTP连接     * @FTP_HOST -- FTP主机     * @FTP_PORT -- 端口     * @FTP_USER

  • php实例分享之通过递归实现删除目录下的所有文件详解

    先贴代码: 复制代码 代码如下: <?phpfunction delFile($dirName){  if ($handle = opendir("$dirName")){  while (($item = readdir($handle))!=false){   if ($item!="." && $item!="..")  {    if ( is_dir( "$dirName/$item" ) )

  • php实现删除指定目录下相关文件的方法

    本文实例讲述了php实现删除指定目录下相关文件的方法.分享给大家供大家参考.具体实现方法如下: 通常来说在php中删除文件最简单的方法就是直接使用unlink命令,而对于需要删除指定目录下的指定文件的情况,就需要遍历删除了. 具体实例代码如下: 复制代码 代码如下: <?php  //删除指定文件夹下的非法文件  function my_del($dir)  {     if(is_dir($dir)){         //打开指定文件夹         if($handle = opendi

  • php最简单的删除目录与文件实现方法

    本文实例讲述了php最简单的删除目录与文件实现方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <?php  //删除目录下所有空目录  array_map('rmdir', glob('*', GLOB_ONLYDIR));  //删除目录所有文件  array_map('unlink', array_filter(glob('*'), 'is_file')); ?> 原理分析:array_map('rmdir', glob('*', GLOB_ONLYDIR)); 删

  • php 删除目录下N分钟前创建的所有文件的实现代码

    复制代码 代码如下: <?php//delfile("upload",10);function delfile($dir,$n) //删除当DIR路径下N分钟前创建的所有文件;{if(is_dir($dir))  { if($dh=opendir($dir))   {    while (false !== ($file = readdir($dh)))     {     if($file!="." && $file!="..&qu

  • php递归删除目录下的文件但保留的实例分享

    用php程序删除目录和文件比到ftp删除有很多优势.首先进ftp就比较麻烦,然后删除大量文件的时候ftp删除很慢,还有就是程序只想删除文件夹下面的文件,而保留目录结构,可以用php来轻松的实现,再有比如生成的日志.缓存要清除用程序来完成显然轻松的多. 一:删除目录下面的文件,不删除目录 复制代码 代码如下: function delFileUnderDir( $dirName ){   if ( $handle = opendir( "$dirName" ) ) {     while

  • php 删除无限级目录与文件代码共享

    <? //删除目录 class del_path { function wm_chief_delpath($del_path) { if(!file_exists($del_path))//目标目录不存在则建立 {echo"目录不存在";return false;} $hand=opendir($del_path); $i=0; while($file=readdir($hand)) {$i ; if($i==1||$i==2) {continue;} if(!(strchr($

随机推荐