ホームページ  >  記事  >  バックエンド開発  >  PHPでディレクトリとそのディレクトリ内のすべてのファイルを削除する方法のコード例

PHPでディレクトリとそのディレクトリ内のすべてのファイルを削除する方法のコード例

不言
不言オリジナル
2018-08-04 11:32:272490ブラウズ

この記事では、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でディレクトリとそのディレクトリ内のすべてのファイルを削除する方法のコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。