PHP 文件与目录删除程序

php 删除文件与目录代码是对文件与目录管理时会常用到了,其实我们是删除文件后再删除目录的,因为php不能直接删除不是null的文件夹,代码如下:

  1. function RmDirFiles($indir)
  2. {
  3. $dh = dir($indir);
  4. while($filename = $dh->read()) {
  5. if($filename == "." || $filename == "..")
  6. continue;
  7. else if(is_file("$indir/$filename"))
  8. @unlink("$indir/$filename");
  9. else
  10. $this->RmDirFiles("$indir/$filename");
  11. }
  12. $dh->close();
  13. @rmdir($indir);
  14. }

获得某目录合符规则的文件,代码如下:

  1. function GetMatchFiles($indir,$fileexp,&$filearr)
  2. {
  3. $dh = dir($indir);
  4. while($filename = $dh->read())
  5. {
  6. $truefile = $indir.'/'.$filename;
  7. if($filename == "." || $filename == ".."){
  8. continue;
  9. }
  10. else if(is_dir($truefile)){
  11. $this->GetMatchFiles($truefile,$fileexp,$filearr);
  12. }
  13. else if(preg_match("/.(".$fileexp.")/i",$filename)){
  14. $filearr[] = $truefile;
  15. }
  16. }
  17. $dh->close();
  18. }

删除文件,代码如下:

  1. function DeleteFile($filename)
  2. {
  3. $filename = $this->baseDir.$this->activeDir."/$filename";
  4. if(is_file($filename)){ @unlink($filename); $t="文件"; }
  5. else{
  6. $t = "目录";
  7. if($this->allowDeleteDir==1) $this->RmDirFiles($filename);
  8. }
  9. ShowMsg("成功删除一个".$t."!","file_manage_main.php?activepath=".$this->activeDir);
  10. return 0;
  11. }