php删除目录 删除文件保留目录

   //循环删除目录和文件函数   删除目录及目录下所有文件
    public static function  delDirAndFile( $dirName )  {
        //var_dump(is_dir($dirName));exit;
        if ( $handle = opendir( "$dirName" ) ) {
            while ( false !== ( $item = readdir( $handle ) ) ) {
                if ( $item != "." && $item != ".." ) {
                    if ( is_dir( "$dirName/$item" ) ) {
                         self::delDirAndFile( "$dirName/$item" );  //是路径继续递归
                    } else {
                        unlink( "$dirName/$item" );//不是路径删除文件  目录/目录下的文件名带后缀
                        //if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br />\n";
                    }
                }
            }
           closedir( $handle );
           rmdir( $dirName );
           //if( rmdir( $dirName ) )echo "成功删除目录: $dirName<br />\n";
        }
    }
    //循环目录下的所有文件   仅删除指定目录下的文件,不删除目录文件夹
    public static function delFileUnderDir( $dirName,$now)  {
        if ( $handle = opendir( "$dirName" ) ) {
           while ( false !== ( $item = readdir( $handle ) ) ) {
                if ( $item != "." && $item != ".." ) {
                    if ( is_dir( "$dirName/$item" ) ) {
                        self::delFileUnderDir( "$dirName/$item" );
                    } else {
                        preg_match("/\d+/",$item,$matches);
                        $time=$matches[0];
                        $difference=strtotime($now)-strtotime($time);
                        $days = intval($difference/86400);
                        $remain = $difference%86400;
                        $hours = intval($remain/3600);
                        if($hours>1 || $days>1 ){
                           unlink( "$dirName/$item");
                        }
                        //if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br />\n";
                    }
                }
           }
           closedir( $handle );
        }
    }  
时间: 2024-11-05 20:39:42

php删除目录 删除文件保留目录的相关文章

【转】VC MFC 如何删除文件,目录,文件夹

原文网址:http://shijuanfeng.blogbus.com/logs/100675115.html 第一种方法:定义一个文件类对象来操作CFile   TempFile;     TempFile.Remove(指定文件名); 第二种方法:  使用系统函数 DeleteFile( LPCSTR filename )删除文件    _rmdir(),删除目录 DeleteDirectory(sTempDir);  删除目录 RemoveDirectory(sTempDir);删除目录e

一天一个Linux基础命令删除文件或目录命令rm

rm  删除文件命令 1.命令格式 rm [options]  file... 2.命令功能 rm命令,删除文件命令,是Linux系统下常用命令,该命令的功能为删除一个文件或者整个目录或者目录中的部分文件,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只删除了链接,原有文件保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf或 rm -rf /).所以,我们在执行rm之前最好先确认一下在哪个

删除文件或目录

1 package io.FileOp; 2 import java.io.*; 3 /** 4 * 删除文件或者删除目录 5 * @author www.tfgzs.net 6 */ 7 public class Delete { 8 9 public static void main(String[] args) { 10 String pathString="E:/360Downloads/123456.txt"; //文件路径 11 12 if (delete(pathStri

递归删除文件及目录

1 //删除文件及目录 2 public static void deleteFolder(File folder) { 3 File[] files = folder.listFiles(); 4 if(files!=null) { 5 for(File f: files) { 6 if(f.isDirectory()) { 7 deleteFolder(f); <-----如果是目录,则继续循环 8 } else { 9 f.delete(); 10 } 11 } 12 } 13 folde

彻底删除&amp;quot;提示删除文件和目录&amp;quot;时出错的文件或目录

当删除文件是出现上图时  能够用以下的方法删除文件 策略一:系统大法 第一招  进程帮你搞定 很多时候乱码文件名称里的文件是explorer.exe进程联系在一起的. 假设要删除的话能够这样:首先命令行窗体,通过cd命令进入乱码名目录.按下Ctrl+Alt+Del调出任务管理器,单击"进程"选项卡,选中"explorer.exe",右键选择"结束进程",在命令提示符窗体中使用DEL命令来删除文件或目录,删除成功后,在命令提示符窗体中输入 expl

Java删除文件或目录及目录下所有文件

一直在做C++相关开发的工作.突然某一天一时兴起,想学习下Java开发.然后再网上找到一本Java简明教程,入门是够用了.看到文件IO这一章,想起之前用C++做的删除文件或目录的练习,于是打算用Java来实现这个功能.本以为很简单的功能,还是遇到一些问题.仔细分析下代码,定位到出问题的地方.在此处记录下,提醒自己不会重蹈覆辙. 1. 第一版的删除函数是这样写的 1 static boolean delFile(String filename) { 2 File file = new File(f

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

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

python删除文件或者目录

import os #os.walk删除文件和目录def rmDirAndFile(path): #先把各个目录的文件删除完 for root, dirs, files in os.walk(path): for file in files: filepath = os.path.join(root, file) try: os.remove(filepath) print("删除文件%s成功" % file) except: print("删除文件%s异常" %

python实现删除文件与目录的方法

os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误.如果要删除目录,请使用rmdir().os.rmdir()只能删除空目录 remove() 同 unlink() 的功能是一样的 在Windows系统中,删除一个正在使用的文件,将抛出异常.在Unix中,目录表中的记录被删除,但文件的存储还在. os.removedirs(path) 递归地删除目录.类似于rmdir(), 如果子目录被成功删除, removedirs() 将会删除父目录:但