52juanjuan哥:
求详。单单一个unlink能解决问题吗

解决方案 »

  1.   

    to jerald(沙舟): 谢。这个我知。
    有没有其他的途径。不这样来的。
      

  2.   

    用循环来做不就完了
    $dirname = ".";
    if ($handle = opendir($dirname)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != "..") {
                unlink($file);
            }
        }
        closedir($handle);
    }
      

  3.   

    在Linux下面可以这样做,首先你运行程序的用户必须具备写某个目录的权限。$dirname = "/home/username/emptytest";
    chdir ($dirname);
    exec("rm -rf *");
      

  4.   

    ice_berg16(寻梦的稻草人) 如果有目录,目录下有文件呢?
      

  5.   

    我刚才写了一个递归算法的清空目录的程序是Windows版本的
    测试目录结构如下(e:\phppro\test\):
    Dir:test  
        Dir:1
        Dir:2
            File:2.txt
            File:3.txt
        File:1.txt
        File:2.txt
        File:3.txt程序如下:
    <?php
    $dir = "\\phppro\\test\\";
    function deldir($dir)
    {
    if (is_dir($dir)) 
    {
    chdir($dir);
    if ($dh = opendir($dir)) 
    {
    while (($file = readdir($dh)) !== false) 
    {
    if ($file != "." && $file != "..")
    {
    if (is_dir($file))
    {
    echo "Dir:".$file."\n";
    $subdir = $dir.$file."\\";

    deldir($subdir);
    chdir($dir);
    rmdir($file);
    }else
    {
    echo "File:".$file."\n";
    unlink($file);
    } }
    }
    }else
    {
    echo "Open dir handle failed!\n";
    }

    closedir($dh);
    }else
    {
    echo $dir." Is Not Dir";
    }
    }deldir($dir);
    ?>
      

  6.   

    $dir = "\\phppro\\test\\"; 是相对目录???
      

  7.   

    function delete($dir, $pattern = "*.*")
       {    $deleted = false;
           $pattern = str_replace(array("\*","\?"), array(".*","."), preg_quote($pattern));
           if (substr($dir,-1) != "/") $dir.= "/";
           if (is_dir($dir))
           {    $d = opendir($dir);
               while ($file = readdir($d))
               {    if (is_file($dir.$file) && ereg("^".$pattern."$", $file))
                   {    if (unlink($dir.$file))    $deleted[] = $file;
                   }
               }
               closedir($d);
               return $deleted;
           }
           else return 0; 
       }