php循环删除文件夹和目录

一定要注意文件夹中的两个目录---->   .(当前目录)  ..(上级目录) 需要对这两个目录进行过滤,

否则在删除或者遍历是会一直,对于..甚至会向你指定的文件夹的上级目录循环操作,删除重要文件

function dealFileInDir($path,$type=false){
    if(is_dir($path)){
        if($dp=opendir($path)){
            while (false!==($item=readdir($dp))){
                //直接过滤或者在下面目录判断时,排除掉
                if($item==‘.‘||$item==‘..‘)
                    continue;
                $info=$path.‘/‘.$item;
                if(is_dir($info)&&$item!=‘.‘&&$item!=‘..‘){
                    dealFileInDir($info);
                }else{
                    //print $info.‘<br/>‘;
                    @unlink($info);
                }
            }
            closedir($dp);
        }
        if($type)
            @rmdir($path);
    }
}

原文地址:https://www.cnblogs.com/ssyfj/p/8495985.html

时间: 2024-10-17 01:05:44

php循环删除文件夹和目录的相关文章

Python - 创建目录,切换目录,创建文件,复制文件,移动文件 ,删除文件夹及文件

# -*- coding: utf-8 -*- """ Created on Mon Jan  9 00:35:43 2017 @author-Weixin: 953558077 """ import os import shutil import time ''' shutil模块的基础功能简介 copyfile( src, dst)      从源src复制到dst中去.当然前提是目标地址是具备可写权限.抛出的异常信息为IOException

C#直接删除指定目录下的所有文件及文件夹(保留目录)

? ????#region 直接删除指定目录下的所有文件及文件夹(保留目录) /// <summary> /// 直接删除指定目录下的所有文件及文件夹(保留目录) /// </summary> /// <param name="strPath">文件夹路径</param> /// <returns>执行结果</returns> public bool DeleteDir(string strPath) { try

C#递归删除文件夹目录及文件

在C#文件操作过程中,有时候需要删除相应目录,如果文件夹中含有其他文件夹或者文件,也需要一并进行删除,此时可能就需要使用递归来删除文件夹目录以及文件,递归过程中,如果遍历的对象是文件夹,则删除文件夹,若是文件,则删除对应文件.Directory.Delete方法可用于删除文件夹,File.Delete方法用于删除文件.具体的代码实现如下:/// <summary>/// 递归删除文件夹目录及文件/// </summary>/// <param name="dir&q

c++删除文件夹 源码

由于没有找到直接用于删除文件夹的函数,所以自己写了一个. void CDeleteDlg::DelFile(CString path,CString name) { CString strtemp; if (path.Right(1) != "\\") //判断路径是否以\结尾 strtemp.Format("%s\\*.*",path); //设置通配符 else strtemp.Format("%s*.*",path); //设置通配符 CF

C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close();C#拷贝文件 string OrignFile,NewFile; Or

C# 添加,修改,删除文件夹/文件集合

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close(); C#拷贝文件 string OrignFile,NewFile; O

linux下删除文件夹的软链接时注意千万不能在后面加反斜杠,千万不要用强制删除,否则下面2种场景,你会把源文件删除,要闯祸的

今天遇到一个坑,自己在子目录下创建了父目录的软链接,导致可以无限循环进入父目录 [[email protected] dir1]$ ll total 8 -rw-rw-r-- 1 clouder clouder 4 Oct 9 17:49 a.txt -rw-rw-r-- 1 clouder clouder 4 Oct 9 17:49 b.txt lrwxrwxrwx 1 clouder clouder 10 Oct 9 17:49 dir1 -> /tmp/dir1/ [[email prot

强制删除文件夹

今天在删除桌面的文件夹时,一直都删不掉,说什么权限不够,当时就懵逼了,于是就想着用命令来删除该文件夹. 首先我是用的是:rmdir 目录名 然后提示我说是非空文件夹,此时我明白了,原来该命令只能删除空文件夹.此路不通,看来得另寻他法了.在网上查找了很久,在试了n次之后,发现这个可恶的文件夹终于被我成功地删除了. 要删除一个非空文件夹可以使用如下命令: rd /s 文件夹名        // rd的意思就是删除文件夹,(remove directory),/s表示删除该目录下所有遍历的子目录和文

linux下的c语言编程删除文件夹

刚刚在学习开始做新项目的时候,学长布置了一项任务,就是在给定一个目录下,要将这个目录下一个星期之前的目录包括里面的文件全部删除,只保留这一个星期内的.百度了好久的资料,终于完成,记录一下防止忘记.(注:文件夹名称默认为日期格式,如20140716) #include<dirent.h> #include<sys/types.h> #include<string.h> #include<stdlib.h> #include<unistd.h> #i