Rumah >pembangunan bahagian belakang >masalah PHP >Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

青灯夜游
青灯夜游asal
2021-08-23 15:36:573052semak imbas

Dalam artikel sebelumnya "operasi fail php: mengekstrak nama fail/direktori", kami belajar cara mendapatkan bahagian nama fail/direktori. Kali ini kita meneruskan siri operasi fail PHP dan bercakap tentang cara memadam fail atau direktori yang ditentukan Rakan-rakan yang berminat boleh mempelajarinya~

Apabila mengendalikan fail/direktori, bukan sahaja Anda boleh mengendalikan data daripada. fail/direktori itu sendiri (seperti memadam fail/direktori). Hari ini kami akan memperkenalkan kepada anda cara memadam fail atau direktori yang ditentukan.

1: Padam operasi fail yang ditentukan

Untuk memadam fail, anda boleh menggunakan fungsi unlink($filename,$context), yang boleh memadamkan fail yang ditentukan $filename Parameter pilihan $context digunakan untuk menentukan persekitaran pemegang fail. Mengembalikan TRUE jika pelaksanaan berjaya dan FALSE jika gagal.

Mari kita lihat contoh kod khusus:

Contoh 1: Padam fail "test.txt" dalam direktori yang sama

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

<?php
header("content-type:text/html;charset=utf-8");
$file = &#39;test.txt&#39;;
if(file_exists($file)){
    if(unlink($file)){
        echo $file.&#39; 删除成功!&#39;;
    }else{
        echo $file.&#39; 删除失败!&#39;;
    }
}else{
    echo $file.&#39; 不存在!&#39;;
}
?>

Hasil output ialah:

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Selepas membuka semula direktori dan melihat fail, anda akan mendapati bahawa fail "test.txt" tidak lebih lama wujud.

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Contoh 2: Padamkan fail "text.txt" dalam direktori D:demo

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

<?php
header("content-type:text/html;charset=utf-8");
$file = &#39;D:/demo/text.txt&#39;;
if(file_exists($file)){
    if(unlink($file)){
        echo $file.&#39; 删除成功!&#39;;
    }else{
        echo $file.&#39; 删除失败!&#39;;
    }
}else{
    echo $file.&#39; 不存在!&#39;;
}
?>

Output Hasilnya ialah:

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Selepas membuka semula direktori dan melihat fail, anda akan mendapati bahawa fail "text.txt" tidak lagi wujud.

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Bagaimana untuk memadam semua fail dalam direktori, anda boleh menggunakan gelung dan readdir() untuk mendapatkan semua fail dan direktori dalam direktori D:demo (tidak termasuk subdirektori) , dan kemudian padam semua fail di dalamnya:

<?php
header("content-type:text/html;charset=utf-8");
$dir = &#39;D:/demo&#39;;
if (is_dir($dir)) {
	$info = opendir($dir);
	while (($file = readdir($info)) !== false) {//用不全等于是区分如果文件夹名字为0的时候,那么0!==false,仍然可以遍历
		if ($file != "." && $file != ".." ) {
			$path = $dir . &#39;/&#39; . $file;
			if(is_dir($path)){
				continue;
			}
			unlink($path);
		}
	}
	echo &#39;文件删除成功!&#39;;
	closedir($info);
} 
?>

Hasil output ialah:

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Selepas membuka semula direktori dan melihat fail, anda akan dapati bahawa hanya Folder "img" seterusnya masih wujud.

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

2: Padam operasi direktori yang ditentukan

Untuk memadamkan direktori, anda boleh menggunakan rmdir($dir,$context) fungsi, $context Merupakan parameter yang ditinggalkan digunakan untuk menentukan persekitaran pemegang fail. Mengembalikan TRUE jika pelaksanaan berjaya dan FALSE jika gagal.

Perlu diambil perhatian bahawa apabila menggunakan fungsi rmdir() untuk memadamkan direktori yang ditentukan, direktori tersebut mestilah kosong dan mesti mempunyai kebenaran yang sepadan. Memadamkan direktori yang tidak kosong juga akan menghasilkan ralat tahap E_WERNING.

Mari kita lihat contoh kod khusus: Padam direktori kosong "img" di bawah direktori D:demo

<?php
	header("content-type:text/html;charset=utf-8");
    $dir = &#39;D:/demo/img&#39;;
    if(is_dir($dir)){
        if(rmdir($dir)) echo &#39;目录删除成功!&#39;;
    }else{
        echo "目录不存在!";
    }
?>

Hasil output ialah:

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Selepas membuka semula direktori dan melihat fail, anda akan mendapati direktori kosong "img" tidak lagi wujud.

Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu

Tetapi dalam kebanyakan kes, direktori yang perlu kami padamkan tidak kosong, dan ia akan mengandungi banyak sub-fail dan sub-direktori Bagaimana kami memadam itu? Bagaimana dengan direktori yang ditentukan dan sub-fail dan direktorinya?

Kaedah pelaksanaan khusus: anda boleh melintasi semua fail dan folder dalam direktori ini dan memadam semua fail dan folder dalam direktori ini satu demi satu secara rekursif

Seperti yang diberikan di bawah Pelaksanaan khusus kod:

<?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 = "D:/demo/";
    //调用函数,传入路径
    deldir($path);
?>

Itu sahaja jika anda ingin tahu apa-apa lagi, anda boleh klik di sini. → →Pengendalian asas fail PHP

Disyorkan: Koleksi soalan temuduga PHP (koleksi)》《tutorial video php

Atas ialah kandungan terperinci Operasi fail PHP: alih keluar fail atau direktori pada laluan tertentu. 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