当前位置:编程问答 > php >

关于PHP文件删除操作的一个问题

问题:小弟有代码段, 是递归删除文件夹目录, 如下:

<?php

function DeleteDir($dir)
{
$handle = opendir($dir);
readdir($handle);
readdir($handle);


while (false !== ($file = readdir($handle)))
{
$file = $dir . DIRECTORY_SEPARATOR . $file;
if (is_dir($file))
{
DeleteDir($file);
}
else
{
if (unlink($file))
{
echo "删除文件 “ $file ” 成功!<br>\r\n";
}
else
{
echo "删除文件 “ $file ” 失败!<br>\r\n";
}
}
}
if (rmdir($dir))
{
echo "删除目录 “ $dir ” 成功!<br>\r\n";
}
else
{
echo "删除目录 “ $dir ” 失败!<br>\r\n";
}
}

DeleteDir("C:\\test");

?>

目录中的文件 以及子目录中的文件 全部都能正常删除. 但是子目录却拒绝访问.何解? 小弟初学者,望高手不吝赐教!!

环境: XP

答案:因为你没有关闭目录句柄,这些文件夹一直被占用着,当然会提示错误。

在这句 if (rmdir($dir)) 前加一句 closedir($handle); 就行了

不清楚.防止问题被关闭.

上一个:谁能把这端PHP代码解密下?
下一个:怎样在php的博客里加个计数器.

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,