Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam direktori bukan kosong menggunakan php rmdir()

Bagaimana untuk memadam direktori bukan kosong menggunakan php rmdir()

青灯夜游
青灯夜游asal
2021-10-09 18:12:593839semak imbas

Kaedah pemadaman: 1. Gunakan fungsi scandir() dan pernyataan foreach untuk melintasi semua fail dan folder dalam direktori yang ditentukan 2. Gunakan kaedah rekursif untuk memadam semua fail dan folder dalam direktori yang ditentukan direktori menjadi direktori kosong 3. Gunakan pernyataan "rmdir (laluan direktori)" untuk memadam direktori yang ditentukan.

Bagaimana untuk memadam direktori bukan kosong menggunakan php rmdir()

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Anda boleh menggunakan fungsi rmdir() dalam PHP Padam direktori yang ditentukan Format sintaks fungsi ini adalah seperti berikut:

rmdir(string $dirname[, resource $context])

Antaranya, parameter $dirname ialah laluan direktori yang akan dipadamkan; digunakan untuk menentukan persekitaran pemegang fail.

Nota: Apabila menggunakan fungsi rmdir() untuk memadamkan direktori yang ditentukan, direktori tersebut mestilah kosong dan mesti mempunyai kebenaran yang sepadan. TRUE dikembalikan apabila fungsi dilaksanakan dengan jayanya, dan FALSE dikembalikan jika pelaksanaan gagal Jika direktori yang tidak kosong dipadamkan, ralat tahap E_WERNING akan dihasilkan.

Jadi jika anda perlu menggunakan rmdir() untuk memadamkan direktori yang tidak kosong, apakah yang perlu anda lakukan?

Kami boleh melintasi semua fail dan folder dalam direktori ini dan memadam semua fail dan folder dalam direktori ini satu demi satu secara rekursif Perkara berikut ditunjukkan melalui kod sampel:

<?php
    function deldir($path){
        //如果是目录则继续
        if(is_dir($path)){
            //扫描一个文件夹内的所有文件夹和文件并返回数组
            $p = scandir($path);
            //如果 $p 中有两个以上的元素则说明当前 $path 不为空
            if(count($p)>2){
                foreach($p as $val){
                    //排除目录中的.和..
                    if($val !="." && $val !=".."){
                        //如果是目录则递归子目录,继续操作
                        if(is_dir($path.$val)){
                            //子目录中操作删除文件夹和文件
                            deldir($path.$val.&#39;/&#39;);
                        }else{
                            //如果是文件直接删除
                            unlink($path.$val);
                        }
                    }
                }
            }
        }
        //删除目录
        return rmdir($path);
    }
    //设置需要删除的文件夹
    $path = "./test/";
    //调用函数,传入路径
    deldir($path);
?>

Nota:

fungsi scandir() mengembalikan tatasusunan yang mengandungi semua fail dan direktori dalam direktori yang ditentukan

Pembelajaran yang disyorkan: "Tutorial Video PHP

.

Atas ialah kandungan terperinci Bagaimana untuk memadam direktori bukan kosong menggunakan php rmdir(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn