Maison  >  Article  >  développement back-end  >  Exemple de code montrant comment supprimer un répertoire et tous les fichiers du répertoire en php

Exemple de code montrant comment supprimer un répertoire et tous les fichiers du répertoire en php

不言
不言original
2018-08-04 11:32:272496parcourir

Cet article vous apporte des exemples de code sur la façon de supprimer un répertoire et tous les fichiers du répertoire en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

php supprime le répertoire et tous les fichiers du répertoire et résout le problème du chinois tronqué

//删除目录及文件
/*
 *   @param  deletefile //删除文件夹及里面的所有数据
 *   @param  dirName  // 基于 ./Public/Uploads/ 下面的路径
 *   @param  is_dir  //判断是否是目录
 *   @param  opendir  // 打开文件夹
 *   @param  readdir // 读取文件夹
 */
 function deletefile($dirName){
    $dir=$dirName;
    if(is_dir(iconv('utf-8','gb2312',$dir))==true){
        if($handle=opendir(iconv('utf-8','gb2312',$dir))){//打开文件内容
            while(false!==($files=readdir($handle))){//读取文件内容
                $files=iconv('gb2312','utf-8',$files);
                if($files!="." && $files!=".."){
                    $files=iconv('utf-8','utf-8',$files);//字符转义
                    $dir=iconv('utf-8','utf-8',$dir);
                    $new_dir=$dir."/".$files;
                    if(is_dir(iconv('utf-8','gb2312',$new_dir)))
                    {
                       deletefile($new_dir);//递归调用
                    }
                    else
                    {
                        //删除pdf 里面的转换文件
                        $zip_type = substr(strrchr(iconv('utf-8','gb2312',$files), '.'), 1);
                        if($zip_type=='xls'|| $zip_type=='xlsx' || $zip_type=='docx' || $zip_type=='doc'){
                            $filename_file =$files;
                            $houzhui_file = substr(strrchr($filename_file, '.'), 1);
                            $wei_file=mb_strlen($houzhui_file,'utf-8')+1;//获取后缀名的长度
                            $zong_file=mb_strlen($filename_file,'utf-8');//获取总的长度
                            $filenams_file=mb_substr($filename_file,0,$zong_file-$wei_file,'utf-8');
                            $pdfname_file=$filenams_file;//截取文件名前缀
                            unlink(iconv('utf-8','gb2312','./Public/Uploads/pdf/'.$pdfname_file.'.pdf'));
                        }
                        unlink(iconv('utf-8','gb2312',$new_dir));

                    }
                }
            }
            closeDir($handle);
            if(rmdir(iconv('utf-8','GBK',$dir))){
                $value['file']='成功删除目录';
                $value['success']='success';
                //echo "成功删除目录";
            }
        }else{
            // echo '打开不了目录';
            $value['file']='打开不了目录';
            $value['fail']='fail';
        }
    }else{
        if(is_file(iconv('utf-8','gb2312',$dir))==false){
            //echo '没有找到目录';
            $value['file']='没有找到目录';
            $value['fail']='fail';
        }
    }
    return $value;
}

Articles connexes recommandés :

Comment PHP décompresse-t-il le fichier compressé fichier de package ? Spécifier le répertoire ? (Code pur)

Comment créer un répertoire de fichiers en php ? (Code pur)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn