VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 586|回复: 15

循环删除空目录失败??

[复制链接]

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-2 09:30:01 | 显示全部楼层 |阅读模式
代码如下:
function deldir($dir)
{
   if ($handle = opendir($dir))
        {
                while (false !== ($file = readdir($handle)))
                {
                        if ($file != "." && $file != "..")
                        {
                                $fullpath=$dir."/".$file;
                                //echo "full path:$fullpath<br>";
                                if(is_dir($fullpath))
                                {
                                        deldir($fullpath);
                                }

                        }
             }
                echo "to del file:$dir<br>";
                rmdir($dir);
                closedir($handle);
        }
}

delfile($dir);
deldir($dir);


出现问题如下:
to del file:D:/AppServ/www/hy/html/107/1/2

Warning: rmdir(D:/AppServ/www/hy/html/107/1/2) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/3

Warning: rmdir(D:/AppServ/www/hy/html/107/1/3) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/4

Warning: rmdir(D:/AppServ/www/hy/html/107/1/4) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/5

Warning: rmdir(D:/AppServ/www/hy/html/107/1/5) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/6

Warning: rmdir(D:/AppServ/www/hy/html/107/1/6) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/7

Warning: rmdir(D:/AppServ/www/hy/html/107/1/7) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1

Warning: rmdir(D:/AppServ/www/hy/html/107/1) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/2

Warning: rmdir(D:/AppServ/www/hy/html/107/2) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107

Warning: rmdir(D:/AppServ/www/hy/html/107) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/yuiop

Warning: rmdir(D:/AppServ/www/hy/html/yuiop) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html

Warning: rmdir(D:/AppServ/www/hy/html) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48

目录找对了(也是空的) 但是就是删不到
望指教
回复

使用道具 举报

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-12 00:45:01 | 显示全部楼层
对了 delfile($dir);这个是清空所有文件夹里的文件 经测试没有问题
回复

使用道具 举报

0

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-12 11:45:01 | 显示全部楼层
Permission denied in D:\AppServ\www\hy\del.php on line 48

很明显,没有权限,你看看你的http 访问用户是否有权限删除目录
回复

使用道具 举报

0

主题

24

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-5-12 16:00:01 | 显示全部楼层
权限问题啊....
回复

使用道具 举报

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-14 14:00:01 | 显示全部楼层
请问一下怎么去查看权限的问题
如果是权限问题的话 为什么我rmdir("D:/AppServ/www/hy/html/107/1/3")却能成功??
回复

使用道具 举报

0

主题

20

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-5-15 14:00:01 | 显示全部楼层
ls -l 查看权限。
windows 查看属性页
回复

使用道具 举报

0

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-16 16:15:02 | 显示全部楼层
sorry 没有注意你是再window下运行的,你看以下你的删除的目录是否存在D:/AppServ/www/hy/html/107,另外,如果107 里边有子目录的话是否可以删除
回复

使用道具 举报

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-16 17:30:01 | 显示全部楼层
是权限问题吗?以下代码为什么成功,注意最后是直接删除
//删除指定的目录
function deldir($dir)
{
   if ($handle = opendir($dir))
        {
                while (false !== ($file = readdir($handle)))
                {
                        if ($file != "." && $file != "..")
                        {
                                $fullpath=$dir."/".$file;
                                //echo "full path:$fullpath<br>";
                                if(is_dir($fullpath))
                                {
                                        deldir($fullpath);
                                }

                        }
             }
                echo "to del file:$dir<br>";
                rmdir($dir);
                closedir($handle);
        }
}
/**///
delfile($dir);
deldir($dir);
echo "direct to delete file:D:/AppServ/www/hy/html/107/1/5<br>";
if(rmdir("D:/AppServ/www/hy/html/107/1/5"))
{
echo " delete succeed";
}
else
{
echo "delete failed";
}

出现结果:

回复

使用道具 举报

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-16 21:15:01 | 显示全部楼层
to del file:D:/AppServ/www/hy/html/107/1/4

Warning: rmdir(D:/AppServ/www/hy/html/107/1/4) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/5

Warning: rmdir(D:/AppServ/www/hy/html/107/1/5) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/6

Warning: rmdir(D:/AppServ/www/hy/html/107/1/6) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1/7

Warning: rmdir(D:/AppServ/www/hy/html/107/1/7) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/1

Warning: rmdir(D:/AppServ/www/hy/html/107/1) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107/2

Warning: rmdir(D:/AppServ/www/hy/html/107/2) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/107

Warning: rmdir(D:/AppServ/www/hy/html/107) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html/yuiop

Warning: rmdir(D:/AppServ/www/hy/html/yuiop) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
to del file:D:/AppServ/www/hy/html

Warning: rmdir(D:/AppServ/www/hy/html) [function.rmdir]: Permission denied in D:\AppServ\www\hy\del.php on line 48
direct to delete file:D:/AppServ/www/hy/html/107/1/5
delete succeed

可见删除成功了 我查看文件夹 也确实没了
各位大虾能给解释一下吗
回复

使用道具 举报

0

主题

7

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-5-20 19:15:01 | 显示全部楼层
是啊,没有权限嘛
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表