PHP递归删除目录

创建文件夹

mkdir('test/a/b/c', 0777, true);

封装递归删除目录的方法

<?php
// 递归删除目录
rm('test');
function rm($path){ // test/a
    // 打开目录
    $dir = opendir($path);
    // 跳过两特殊的目录结构 . ..
    readdir($dir);
    readdir($dir);
    // 循环删除
    while($newFile = readdir($dir)){
        // 判断是否是文件还是文件夹
        // test/a/b/c
        $newFile = $path . '/' . $newFile;
        if(is_file($newFile)){
            unlink($newFile);
        }else{
            rm($newFile);
        }
    }
    closedir($dir);
    rmdir($path);
}

原文地址:https://www.cnblogs.com/lisaShare/p/12523518.html

时间: 2024-08-02 12:59:16

PHP递归删除目录的相关文章

PLSQL 过程之间的调用 (实现递归删除目录功能)

在使用PLSQL 编程中需要用到一些递归的操作,这里使用plsql实现递归删除目录 .和大家分享一下. --=======================删除 PROCEDURE DEL_POWER(P_ID INTEGER) IS BEGIN UPDATE EX_SYS_POWER A SET A.YXBZ = 0 WHERE A.ID = P_ID; DEL_CHILDREN_POWER(P_ID); --处理异常 EXCEPTION WHEN OTHERS THEN ROLLBACK; E

PHP 递归删除目录中文件

/** * 递归删除目录中文件 * @param $pathname * @return bool */public static function delDir($pathname)//要删除的目录{ if(file_exists($pathname)) { if(is_file($pathname)) { unlink($pathname); } else { $dir = opendir($pathname); while($filename = readdir($dir)) { if($

JAVA递归删除目录及包含的全部文件

JAVA递归删除目录及包含的全部文件/** * 递归删除某一个目录 * @param objDir 目标目录文件 * @return 是否删除成功,true为成功 */ public static boolean deleteDir(File objDir) { if (objDir.exists()) { File[] dirs = objDir.listFiles(); for (int i = 0; i < dirs.length; i++) { if (dirs[i].isDirecto

递归删除目录下的所有文件

import java.io.File; public class DeleteDirectory { /** * 删除空目录 * @param dir 将要删除的目录路径 */ private static void doDeleteEmptyDir(String dir) { boolean success = (new File(dir)).delete(); if (success) { System.out.println("Successfully deleted empty dir

递归删除目录

1 //递归删除目录 2 3 function deldir($path){ 4 5 //不是目录 6 if(!is_dir($path)){ 7 return NULL; 8 } 9 10 $db = opendir($path); 11 while (($row = readdir($db)) !== false) { 12 if($row == '.' || $row == '..'){ 13 continue; 14 } 15 16 //如果是普通文件 17 if(!is_dir($pa

rrmdir php中递归删除目录及目录下的文件

php自带的rmdir,只能删除空目录,这个rrmdir就可以递归删除目录及目录下的所有文件,不过使用起来要小心哦,不要把所有文件都删了 function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != “.” && $object != “..”) { if (filetype($dir.”/”.$object) == “

又拍云递归删除目录及文件

偶然翻看了一下又拍云存储的api文档,发现无法删除非空目录,简单写了一个,使用Yii框架,所以可能看起来有点怪,见谅吧. 1 <?php 2 3 /** 4 * 文件说明. 5 * 6 * @author Kun Xu <[email protected]> 7 */ 8 class UpyunController extends Controller 9 { 10 11 /** 12 * 删除文件夹及文件,递归删除目录及文件. 13 */ 14 public function acti

递归删除目录下的所有文件及子目录下的所有文件

package com.test; import java.io.File; public class FileTest3 { public static void main(String[] args) { // TODO Auto-generated method stub FileTest3.doDeleteEmptyDir("e:\\new_dir1"); String newDir2 = "e:\\Hello"; boolean success = del

一个Java递归删除目录的方法

1 public static void delDir(File f) { 2 // 判断是否是一个目录, 不是的话跳过, 直接删除; 如果是一个目录, 先将其内容清空. 3 if(f.isDirectory()) { 4 // 获取子文件/目录 5 File[] subFiles = f.listFiles(); 6 // 遍历该目录 7 for (File subFile : subFiles) { 8 // 递归调用删除该文件: 如果这是一个空目录或文件, 一次递归就可删除. 如果这是一个