Xóa thư mục PHP

Hãy xem những bước cần thực hiện để xóa tệp bằng phương pháp này. Trước hết, bạn nên tạo một danh sách tệp bằng phương thức global(). Bước thứ hai là lặp lại danh sách đó. Sau đó, bạn nên kiểm tra xem đó có phải là tệp hay không. Và cuối cùng, đã đến lúc xóa tệp đã cho bằng phương thức unlink()

Đây là một ví dụ

văn bản

Hoặc bạn có thể chọn áp dụng một đoạn mã ngắn cho phương thức global(). Đầu tiên, cần tạo danh sách tệp bằng phương thức global(). Bước tiếp theo là triển khai phương thức array_filter(). Sau đó, nó sẽ ánh xạ danh sách tới phương thức unlink() với array_map

Đây là cách để làm điều đó

Trong khuôn khổ của phương pháp này, cần phải tạo một danh sách các tệp với DirectoryIterator. Sau đó, lặp lại nó. Sau đó, bạn nên xác thực các tệp trong quá trình kiểm tra xem thư mục có dấu chấm hay không. Cuối cùng, áp dụng tham chiếu phương thức getPathName, xóa tệp bằng unlink()

Đây là một ví dụ

Trong đoạn mã này, chúng tôi đã chỉ cho bạn những cách phổ biến và hiệu quả nhất để xóa tệp khỏi thư mục bằng PHP

Hướng dẫn này sẽ cung cấp cho bạn ví dụ về cách xóa thư mục php và các tệp trong thư mục. bạn có thể hiểu một khái niệm về xóa thư mục php và tất cả các tệp. Bài đăng này sẽ cung cấp cho bạn ví dụ đơn giản về xóa thư mục php và tất cả các tệp. Hãy thảo luận về cách xóa thư mục với các tập tin trong php

Đôi khi, chúng ta cần xóa tất cả các tệp và thư mục trong một thư mục bằng mã php. Vì vậy, trong bài viết này, tôi sẽ giúp bạn cách xóa thư mục chứa tất cả nội dung bên trong thư mục đó

Hãy xem cả hai ví dụ sẽ giúp bạn

ví dụ 1

Mã số

$folderName = 'images';

removeFolder($folderName);

function removeFolder($folderName) {

if (is_dir($folderName))

$folderHandle = opendir($folderName);

if (!$folderHandle)

return false;

while($file = readdir($folderHandle)) {

if ($file != "." && $file != "..") {

if (!is_dir($folderName."/".$file))

unlink($folderName."/".$file);

else

removeFolder($folderName.'/'.$file);

}

}

closedir($folderHandle);

rmdir($folderName);

return true;

}

?>

ví dụ 2

Mã số

$folderName = 'images2';

removeFiles($folderName);

function removeFiles($target) {

if(is_dir($target)){

$files = glob( $target . '*', GLOB_MARK );

foreach( $files as $file ){

removeFiles( $file );

}

rmdir( $target );

} elseif(is_file($target)) {

unlink( $target );

}

}

?>

Tôi hy vọng nó có thể giúp bạn

Hướng dẫn này sẽ giải thích hai cách xóa một thư mục trong PHP. Ở đây, chúng ta sẽ đối phó với hai kịch bản

Cái đầu tiên xóa một thư mục trống và cái thứ hai xóa một thư mục không trống

Sử dụng hàm rmdir() để xóa một thư mục trống trong PHP

Chúng ta có thể sử dụng hàm rmdir() để xóa một thư mục trống trong PHP. Hàm này là một hàm PHP dựng sẵn

Chức năng xóa thư mục chỉ khi không có nội dung bên trong nó. Chúng tôi có thể cung cấp thư mục sẽ bị xóa làm tham số cho hàm rmdir()

Hàm trả về true trong trường hợp thành công và

C:\xampp\htdocs\newFolder
0 nếu không

Thư mục nên tồn tại để xóa một thư mục. Chúng ta sẽ sử dụng hàm

C:\xampp\htdocs\newFolder
1 để tạo một thư mục cho phần trình diễn

Hàm lấy tên đường dẫn làm tham số

Ví dụ: tạo một biến

C:\xampp\htdocs\newFolder
2 và lưu trữ tên đường dẫn của một thư mục sẽ được tạo. Tiếp theo, sử dụng hàm
C:\xampp\htdocs\newFolder
1 với tham số là
C:\xampp\htdocs\newFolder
2

Mã ví dụ

$path =$_SERVER['DOCUMENT_ROOT']."/newFolder";
mkdir($path);

Ví dụ mã trên tạo một thư mục

C:\xampp\htdocs\newFolder
5 trong thư mục gốc của tài liệu PHP. Khi bạn in biến
C:\xampp\htdocs\newFolder
2, đầu ra sẽ như thế này trong Linux

Trong Windows, đầu ra hơi giống như thế này

C:\xampp\htdocs\newFolder

Vì chúng ta đã tạo một thư mục, bây giờ là lúc xóa nó bằng cách sử dụng rmdir()

Mã ví dụ

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}

đầu ra

Chúng tôi đã kiểm tra xem thư mục có tồn tại hay không bằng cách sử dụng hàm

C:\xampp\htdocs\newFolder
8 và hàm rmdir() để xóa thư mục
if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
0 trong thư mục gốc của tài liệu

Sử dụng đệ quy để xóa thư mục không trống trong PHP

Như chúng ta biết rằng rmdir() chỉ xóa thư mục trống, chúng ta cần sử dụng chức năng đệ quy và rmdir() để xóa thư mục không trống trong PHP. Trong phương pháp này, chúng ta sẽ sử dụng một vài hàm PHP như

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
3,
if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
4 và
if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
5

Hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
3 lấy nhiều mảng làm tham số và trả về một mảng có các giá trị chỉ tồn tại trên mảng tham số đầu tiên

Hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
4 liệt kê tất cả các tệp và thư mục của một đường dẫn đã chỉ định. Hàm
if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
5 xóa tệp được chỉ định trong tham số của nó

Khái niệm đằng sau việc xóa một thư mục xử lý đệ quy với việc trước tiên tìm tất cả các tệp và thư mục bên trong một thư mục. Sau đó, một vòng lặp được tạo để duyệt qua tất cả nội dung bên trong thư mục mẹ

Thao tác đệ quy được áp dụng cho từng thư mục bên trong thư mục mẹ cho đến khi đạt đến độ sâu. Ở độ sâu, tệp bị xóa bằng hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
5

Chương trình quay lại đường dẫn đã duyệt và xóa tất cả các tệp. Sau khi xóa tất cả các tệp, cuối cùng, thư mục mẹ cũng bị xóa

Hãy xem xét một kịch bản trong đó cấu trúc thư mục trông như thế này

testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg

Ví dụ mã dưới đây xóa đệ quy

testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
0

Mã ví dụ

function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);

Ở đây, hàm

testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
1 là một hàm do người dùng định nghĩa, nhận tham số
C:\xampp\htdocs\newFolder
2, là tên đường dẫn của thư mục sẽ bị xóa.
testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
0 là
C:\xampp\htdocs\newFolder
2 được cung cấp

Đầu tiên, hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
4 lồng nhau thực thi. Nó liệt kê tất cả nội dung của thư mục
testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
0 dưới dạng một mảng

Array ( [0] => . [1] => . [2] => abc.png [3] => abc.text [4] => sub )

Tiếp theo, chúng tôi đã sử dụng hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
3 để loại bỏ
testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
8 và
testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
9 khỏi mảng trên. Dấu chấm đơn đại diện cho thư mục hiện tại, trong khi dấu chấm kép đại diện cho thư mục mẹ

Kết quả là, mảng

function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
0 chứa
function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
1,
function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
2 và
function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
3. Sau đó, chúng tôi sử dụng vòng lặp
function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
4 để lặp qua các tệp và thư mục này

Trong vòng lặp, chúng tôi đã kiểm tra xem iterable có phải là một thư mục không. Nhưng, hai mục đầu tiên không phải là

Vì vậy, chúng được loại bỏ bằng cách sử dụng hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
5. Iterable thứ ba
function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
3 là một thư mục, đáp ứng điều kiện

Vì vậy, hàm

testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
1 được gọi đệ quy. Lần này, thư mục chỉ có một tệp duy nhất bên trong nó

Tệp bị xóa với hàm

if(is_dir($path)){
 rmdir($path);
 echo "the directory is deleted";
}
5 như các tệp khác. Cuối cùng, việc thực thi thoát khỏi vòng lặp

Tiếp theo, thư mục

function deleteDirectory($path){

 $files = array_diff(scandir($path), array('.','..'));
 foreach($files as $file){
 (is_dir("$path/$file")) ? deleteDirectory("$path/$file") : unlink("$path/$file");
 }
 return rmdir($path);
}
$path =$_SERVER['DOCUMENT_ROOT']."/testFolder";
deleteDirectory($path);
3 bị xóa bằng hàm rmdir(). Sau đó, cây đệ quy đi ngược lại và thư mục mẹ
testFolder
├── abc.png
├── abc.text
└── sub
 └── abc.jpeg
0 bị xóa

Làm cách nào để xóa thư mục và tệp trong PHP?

php // xóa tất cả các tệp và thư mục con khỏi một thư mục function deleteAll($dir) { foreach(glob($dir). '/*') as $file) { if(is_dir($file)) deleteAll($file); . This is the function which will help you out to delete folder and sub folders and also files.

Làm cách nào để xóa một thư mục theo cách đệ quy trong PHP?

Xóa tất cả các tệp và thư mục con trong một thư mục. Để xóa tất cả các tệp và thư mục trong tất cả các thư mục con, chúng ta có thể sử dụng đệ quy. Dưới đây là một ví dụ về hàm PHP đệ quy xóa mọi tệp và thư mục trong một thư mục đã chỉ định. // Nếu là thư mục. deleteAll( 'temporary_files' );

Làm cách nào để xóa tệp trong PHP?

Hàm unlink() xóa tệp.

Lệnh xóa thư mục là gì?

Sử dụng lệnh rmdir để xóa thư mục, được chỉ định bởi tham số Thư mục, khỏi hệ thống. Thư mục phải trống (nó chỉ có thể chứa. và. ) trước khi bạn có thể xóa nó và bạn phải có quyền ghi trong thư mục mẹ của nó.