php怎么删除文件夹和文件夹下的所有文件

 我来答
农夫三拳CCC
2018-04-11 · TA获得超过1759个赞
知道答主
回答量:24
采纳率:0%
帮助的人:8.9万
展开全部
正常的思路来说,先循环删除文件夹下的所有文件,当没有文件时再删除文件夹,如果你要删除文件夹和所有文件直接本地删除就好了,但是一般没有这种操作。删除文件可以用unlink($filepath)函数,$filepath是文件路径,然后还有一个封装函数rm_empty_dir($path)删除所有空目录:
/** 删除所有空目录
* @param String $path 目录路径
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){// 遍历文件夹
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file;// 当前目录
if(is_dir($curfile)){// 目录
rm_empty_dir($curfile);// 如果是目录则继续遍历
if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在
rmdir($curfile);// 删除空目录
}
}
}
}
closedir($handle);
}
}
具体的还要你自己稍加修改,希望可以帮到你。
wchyumo2011
推荐于2018-04-11 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2790万
展开全部

函数代码一:删除目录及目录下的所有文件

//循环删除目录和文件函数
function delDirAndFile( $dirName )
{
    if ( $handle = opendir( "$dirName" ) ) {
        while ( false !== ( $item = readdir( $handle ) ) ) {
            if ( $item != "." && $item != ".." ) {
                if ( is_dir( "$dirName/$item" ) ) {
                    delDirAndFile( "$dirName/$item" );
                } else {
                    if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item\n”;
                }
            }
        }
        closedir( $handle );
        if( rmdir( $dirName ) )echo “成功删除目录: $dirName\n”;
    }
}
?>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王者爆料君
推荐于2017-09-30 · TA获得超过226个赞
知道小有建树答主
回答量:698
采纳率:0%
帮助的人:149万
展开全部

自己写个函数就行了

function deldir($dir) {
  //先删除目录下的文件:
  $dh=opendir($dir);
  while ($file=readdir($dh)) {
    if($file!="." && $file!="..") {
      $fullpath=$dir."/".$file;
      if(!is_dir($fullpath)) {
          unlink($fullpath);
      } else {
          deldir($fullpath);
      }
    }
  }
 
  closedir($dh);
  //删除当前文件夹:
  if(rmdir($dir)) {
    return true;
  } else {
    return false;
  }
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桂哥的点滴
2017-09-09 · 关注教育,产品,互联网,个人成长。
桂哥的点滴
采纳数:1042 获赞数:2173

向TA提问 私信TA
展开全部
用递归,函数网上自己搜索。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
擦去的我
2018-04-11
知道答主
回答量:2
采纳率:0%
帮助的人:2177
展开全部
$web_root=str_replace('\\','/',$_SERVER['DOCUMENT_ROOT']);
$dirname=$web_root.'/test';
del_dir($dirname);
function del_dir($dirname)
{
if(is_dir($dirname))
{
$handle=opendir($dirname);
while (($file = readdir($handle)) !== false){
if($file!='.' && $file!='..')
{
if(is_dir("$dirname/$file"))
{
del_dir("$dirname/$file/");
}
else{
if(unlink("$dirname/$file" ))
{
echo '删除文件'.$file.'成功';
}
}
}
}
closedir($handle);
if( rmdir( $dirname ) )echo "成功删除目录: $dirname\n";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式