php获取并删除目录及目录下所有的文件实例

用php程序删除目录和文件比到ftp删除有很多优势。首先进ftp就比较麻烦,然后删除大量文件的时候ftp删除很慢,还有就是程序只想删除文件夹下面的文件,而保留目录结构,可以用php来轻松的实现,再有比如生成的日志、缓存要清除用程序来完成显然轻松的多。

第一步,PHP获取目录下面所有文件和文件夹

 

 代码如下 复制代码

<?php

 $dir = "D:/";  //要获取的目录

 echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";

 //先判断指定的路径是不是一个文件夹

 if (is_dir($dir)){

  if ($dh = opendir($dir)){

   while (($file = readdir($dh))!= false){

    //文件名的全路径 包含文件名

    $filePath = $dir.$file;

    //获取文件修改时间

    $fmt = filemtime($filePath);

    echo "<span style='color:#666'>(".date("Y-m-d H:i:s",$fmt).")</span> ".$filePath."<br/>";

   }

   closedir($dh);

  }

 }

?>

第2步:删除目录及目录下所有的文件

 代码如下 复制代码

function delDirAndFile( $dirName ){ 

 if ( $handle = opendir( "$dirName" ) ) { 

  while ( false !== ( $item = readdir( $handle ) ) ) { 

   if ( $item != "." && $item != ".." ) { 

     if ( is_dir( "$dirName/$item" ) ) { 

       delDirAndFile( "$dirName/$item" ); 

     } else { 

       if( unlink( "$dirName/$item" ) )echo "已删除文件: $dirName/$item<br />n"; 

     } 

    } 

   } 

  closedir( $handle ); 

  if( rmdir( $dirName ) ) echo "成功删除目录: $dirName<br />n"; 

 } 

}

 

第3步:删除目录下面的文件,不删除目录

 代码如下 复制代码

function delFileUnderDir( $dirName ){ 

 if ( $handle = opendir( "$dirName" ) ) { 

  while ( false !== ( $item = readdir( $handle ) ) ) { 

   if ( $item != "." && $item != ".." ) { 

    if ( is_dir( "$dirName/$item" ) ) { 

      delFileUnderDir( "$dirName/$item" ); 

     } else { 

      if( unlink( "$dirName/$item" ) ) echo "已删除文件:$dirName/$item<br />n"; 

     } 

    } 

   } 

  closedir( $handle ); 

 } 

}

小结

这个我们先是从获取目录所有所文件与目录开始然后在基础上进行删除操作。

时间: 2024-09-13 20:57:55

php获取并删除目录及目录下所有的文件实例的相关文章

php删除指定目录下的相关文件实例

  代码如下   <?php  //删除指定文件夹下的非法文件  function my_del($dir)  {     if(is_dir($dir)){         //打开指定文件夹         if($handle = opendir($dir))         {             while(false !== ($file = readdir($handle)))             {                 if($file !== '.' &

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

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

获取某目录下的所有文件(包括子目录下文件)的数量(C#)

以前写过一个通过计算目录遍历所有文件和子目录的方法来获得某目录下的文件个数,结果发现速度极慢,远远不及系统本身目录属性里边显示的速度. int fileNum = 0;/**//// <summary>/// 获取某目录下的所有文件(包括子目录下文件)的数量/// </summary>/// <param name="srcPath"></param>/// <returns></returns>public in

java 获取指定目录下的所有文件

Java ,如何获取指定目录下的所有文件呢? 看代码: Java代码   /***       * 获取指定目录下的所有的文件(不包括文件夹),采用了递归       *        * @param obj       * @return       */       public static ArrayList<File> getListFiles(Object obj) {           File directory = null;           if (obj inst

php 如何获取ftp上目录下的所有文件,包括子目录文件

问题描述 php 如何获取ftp上目录下的所有文件,包括子目录文件 php 如何获取ftp上目录下的所有文件,包括子目录文件: 就是给一个目录名,可以得到此目录下所有的文件,包括子目录下的文件 解决方案 http://www.oschina.net/code/snippet_167160_5849 解决方案二: 用ftp工具(推荐8uftp),输入服务器ip地址,用户名和密码后点击连接,就可直接访问到www下的文件及文件夹,之后将www目录整体导出即可.

php获取目录下的所有文件并按时间排序

php获取目录中的所有文件名 1.先打开要操作的目录,并用一个变量指向它 //打开当前目录下的目录pic下的子目录common. $handler = opendir('pic/common'); 2.循环的读取目录下的所有文件 /*其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,为了不陷于死循环,所以还要让$filename !== false.一定要用!==,因为如果某个文件名如果叫'0′,或者某些被系统认为是代表fals

python获取某目录下的所有文件和子目录-os.listdir

有时候需要获取某目录下的所有文件和子目录,从stackoverflow搜到了一段代码,需要时可以使用. 在Python中可以使用os.listdir()函数获得指定目录中的内容.其原型如下所示.   os.listdir(path)   其参数含义如下.path 要获得内容目录的路径.以下实例获得当前目录的内容.   >>> import os    >>> os.listdir(os.getcwd())    获得当前目录中的内容   ['dde.pyd', 'lic

PHP unlink与rmdir删除目录及目录下所有文件

函数代码:仅删除指定目录下的文件,不删除目录文件夹.  代码如下 复制代码 class shanchu { //循环目录下的所有文件 function delFileUnderDir( $dirName="../Smarty/templates/templates_c" ) { if ( $handle = opendir( "$dirName" ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { i

php删除目录及目录下所有文件子目录

//php删除目录及目录下所有文件子目录 /* 本款函数是一款利用递归来一步步删除目录下文件与当前目录所有子目录哦,不管目录为不为空都可以删除, */ set_time_limit(0); $filenum=0; function deldir($dir){  global $filenum;  $dh=opendir($dir);  while ($file=readdir($dh)){   if($file!="."&&$file!=".."){