使用PHP代码操作删除文件与文件夹

leixue 设计开发 2014-09-20 13:41:07 阅读(...) 评论(0)

有时候我们需要用PHP来删除文件和文件夹,PHP 本来也都有函数可以实现,下面简单记录一下代码,方便以后信守拈来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
function deldir($dir) {
  //先删除目录下的文件:
  $dh=opendir($dir);
  while ($file=readdir($dh)) {
    if($file!="." && $file!="..") {
      $fullpath=$dir."/".$file;
      if(!is_dir($fullpath)) {
          unlink($fullpath);
      } else {
          deldir($fullpath);
      }
    }
  }
 
  closedir($dh);
  //删除当前文件夹:
  if(rmdir($dir)) {
    return true;
  } else {
    return false;
  }
}
 
?>

unlink() 函数用于删除文件。若成功,则返回 true,失败则返回 false。rmdir() 函数用于删除空的目录。它尝试删除 dir 所指定的目录。 该目录必须是空的,而且要有相应的权限。

一个实例:删除某个文件夹下的所有".svn"文件夹(包括其内容也要被删除)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
function delsvn($dir) {
  $dh=opendir($dir);
  //找出所有".svn" 的文件夹:
  while ($file=readdir($dh)) {
    if($file!="." && $file!="..") {
      $fullpath=$dir."/".$file;
      if(is_dir($fullpath)) {
            if($file==".svn"){
                delsvndir($fullpath);
            }else{
                delsvn($fullpath);
            }
      }
    }
  }
 
  closedir($dh);
 
}
 
function delsvndir($svndir){
    //先删除目录下的文件:
    $dh=opendir($svndir);
    while($file=readdir($dh)){
        if($file!="."&&$file!=".."){
            $fullpath=$svndir."/".$file;
            if(is_dir($fullpath)){
                delsvndir($fullpath);
            }else{
                unlink($fullpath);
            }
        }
 
    }
    closedir($dh);
    //删除目录文件夹
    if(rmdir($svndir)){
        return  true;
    }else{
        return false;
    }
 
}
 
$dir=dirname(__FILE__);
//echo $dir;
delsvn($dir);
 
?>

大家有没有觉得非常的简单而且实用呢?

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/php-delete-files-and-folders.html

发表评论