function delDir($dir)
{
     $dirhandle=opendir($dir);
     while($file_name=readdir($dirhandle))
 {
             if ($file_name!="." && $file_name!="..")
 {
                     if (is_dir("$dir/$file_name"))
{
                          del_dir($dir."/".$file_name);
                               rmdir("$dir/$file_name");
                     } 
      else unlink("$dir/$file_name");
      }
     }
     closedir($dirhandle);
     rmdir($dir);
     if(!is_dir($dir))
 return 1;
 else
 return 0;
     }

解决方案 »

  1.   

    要在指定的目录下删除指定文件名的文件(该文件名的文件有多个,分布在各个子目录下)
    所以,我想参数应该是要传入两个:
    1.文件主目录名(比如:d:\test) 
    2.要修改或者删除的文件名字(比如:a.txt)这样要删除或者修改的就是d:test下的所有a.txt文件(包括d:\test的所有子目录下的所有a.txt文件)谢谢
      

  2.   

    function delete_r($path,$filename) {
      $d = dir($path);
      while($f = $d->read()) {
        if($f == $filename)
          unlink("$d->/$f");
        if(is_dir("$d->/$f"))
          delete_r("$d->/$f",$filename);
      }
      $d->close();
    }
      

  3.   

    <?
    function DelFile($dir,$filename)
    {
    $dh = opendir($dir);
    while($file=readdir($dh)){
    if($file != "." && $file != "..")
    {
    if(is_dir("$dir/$file"))
    {
    DelFile("$dir/$file",$filename);
    }
    else if($file == $filename)
    {
    unlink("$dir/$file");
    echo "$dir/$file has been deleted.<br>\n";
    } }
    }
    closedir($dh);
    }DelFile("f:/www/test","a.txt");?>结果:f:/www/test/a.txt has been deleted.
    f:/www/test/test/a.txt has been deleted.
    f:/www/test/test/afd/a.txt has been deleted.
    f:/www/test/test/afd/asdf/a.txt has been deleted.
    f:/www/test/test/dada/a.txt has been deleted.
    f:/www/test/复件 test/a.txt has been deleted.
    f:/www/test/复件 test/afd/a.txt has been deleted.
    f:/www/test/复件 test/afd/asdf/a.txt has been deleted.
    f:/www/test/复件 test/dada/a.txt has been deleted.
      

  4.   

    <?
    function RenameFile($dir,$filename,$newname)
    {
    $dh = opendir($dir);
    while($file=readdir($dh)){
    if($file != "." && $file != "..")
    {
    if(is_dir("$dir/$file"))
    {
    DelFile("$dir/$file",$filename);
    }
    else if($file == $filename)
    {
    rename("$dir/$file","$dir/$newname");
    echo "$dir/$file has been changed name to $dir/$newname.<br>\n";
    } }
    }
    closedir($dh);
    }RenameFile("f:/www/test","a.txt","b.txt");?>
      

  5.   

    function rename_file ( $path, $oldName, $newName ) {
         
           if ($handle = @opendir($path)) {
                  while(false !== ($file = @readdir($handle))) {
                        if (@filetype($path.$file) == "file") {
    if ($file == $oldName) 
    rename($path.$oldName, $path.$newName);
                       } else {
                          if (@filetype($path.$file) == "dir" && $file != "." && $file != "..") {
                              rename_file ($path.$file.'/', $oldName, $newName);
      }
                       }
                    }
            }
    }
            
    rename_file('C:/Apache/Apache2/htdocs/test/', 'aa.txt', 'bb.txt')
      

  6.   

    <?
    function RenameFile($dir,$filename,$newname)
    {
    $dh = opendir($dir);
    while($file=readdir($dh)){
    if($file != "." && $file != "..")
    {
    if(is_dir("$dir/$file"))
    {
    RenameFile("$dir/$file",$filename,$newname);
    }
    else if($file == $filename)
    {
    rename("$dir/$file","$dir/$newname");
    echo "$dir/$file has been changed name to $dir/$newname.<br>\n";
    } }
    }
    closedir($dh);
    }RenameFile("f:/www/test","a.txt","b.txt");?>刚才漏改了一个地方