欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php如何删除目录及目录下的所有文件的代码实例

程序员文章站 2022-03-26 20:49:51
...
本篇文章给大家带来的内容是关于php如何删除目录及目录下的所有文件的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

php删除目录及目录下的所有文件 已解决 中文乱码问题

//删除目录及文件
/*
 *   @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;
}

相关文章推荐:

PHP如何实现解压压缩包文件到指定目录?(纯代码)

php如何创建文件目录?(纯代码)

以上就是php如何删除目录及目录下的所有文件的代码实例的详细内容,更多请关注其它相关文章!