要可以移动目录到其它目录的,能删除原目录下所有的子目录。
手头有无限级分类(作者:小贤),可惜删除目录后,原目录下面的目录仍存在。

解决方案 »

  1.   


    你太有才了!
    /var/www/html/local/..../filename把你传入的整个路径从最底层进行倒推(直接遍历即可),然后逐级往上!一直到你需要删除的同级~整个过程完成!不实际??
    还请求教!
      

  2.   

    不过php5之后好像有个新函数直接能遍历整个路径的所有目录,也可用此法获得返回参数然后循环删除!
    你有更好的??还请赐教!
      

  3.   


    <?php
    require 'database.class.php';
    $db = new DatabaseHandler('127.0.0.1', 'root', 'root', 'test');
    function addItem($pid, $name)
    {
        global $db;
        $sql = 'INSERT INTO `test` (pid,name) VALUES (' . $pid . ',"' . $name . '")';
        $db->execute($sql);
    }function changePid($id, $new_pid)
    {
        global $db;
        $sql = 'UPDATE `test` SET pid = ' . $new_pid . ' WHERE id = ' . $id;
        $db->execute($sql);
    }function delItem($id)
    {
        global $db;
        //查找该目录下的直接子目录
        $sql = 'SELECT id FROM `test` WHERE pid = ' . $id;
        $result = $db->execute($sql);
        
        //删除该级目录
        $sql = 'DELETE `test` WHERE id = ' . $id;
        $db->execute($sql);    //循环删除该目录的子目录
        foreach ($result as $item)
        {
            //递归删除该目录的子目录
            delItem($item['id']);
        }
    }
    ?>
      

  4.   

    $sql = 'INSERT INTO `test` (pid,name) VALUES (' . $pid . ',"' . $name . '")';
    $sql = 'SELECT id FROM `test` WHERE pid = ' . $id;
    感觉数据类型有误,最好给给实例化,我基础好低的
      

  5.   

    哦,明白,database.class.php就是一个mysql数据库连接类,你从网上随便找个就行。
    id   目录序号
    pid  父目录序号
    name 目录名称
      

  6.   

    你这样随便,我找了好久,最后找了adodb并将里面的mysql连接改名,都不知道有没有错,我也不知道怎调用。addItem('0','00');都添加不了记录