Làm cách nào để xóa đường dẫn thư mục trong 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

Trong bài đăng này, tôi sẽ chỉ cho bạn cách bạn có thể xóa tất cả các tệp và thư mục khỏi một thư mục bằng PHP. Điều này khá đơn giản, vì chúng tôi chỉ cần lặp qua các tệp và xóa chúng

Trước hết, chúng tôi xin hướng dẫn bạn cách xóa chỉ các tệp trong một thư mục


Đây là chức năng sẽ giúp bạn xóa thư mục và thư mục con cũng như các tệp. Bạn có thể sử dụng chức năng này bằng cách gọi đơn giản


Về cơ bản, hàm trên kiểm tra xem biến $file có đại diện cho đường dẫn đến tệp không. Nếu nó đại diện cho một đường dẫn đến một tệp, nó sẽ xóa tệp bằng chức năng hủy liên kết. Tuy nhiên, nếu $file đại diện cho một thư mục, thì nó sẽ nhận danh sách tất cả các tệp trong thư mục đã nói trước khi xóa từng tệp. Cuối cùng, nó tự xóa thư mục con bằng cách sử dụng hàm rmdir của PHP

Bạn có thể sử dụng tập lệnh php ở trên để xóa các tệp và thư mục con trong một thư mục nhất định theo chương trình. Tập lệnh tương đối nhanh nhưng nó phụ thuộc vào số lượng tệp và thư mục sẽ bị xóa

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 ta 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ụ

________số 8_______

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 tôi 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 ta đã 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 thế nào bạn sẽ xóa một đường dẫn thư mục?

Rmdir là một trong những hàm đường dẫn cho phép bạn xóa một thư mục trống . Đầu tiên, bạn cần chọn Path[] cho thư mục, sau đó gọi phương thức rmdir[] sẽ kiểm tra kích thước thư mục. Nếu nó trống, nó sẽ xóa nó. Đây là một cách tốt để xóa các thư mục trống mà không sợ mất dữ liệu thực tế.

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

PHP tạo & xóa thư mục . Mkdir[*/temp/sample*, 0777]; Đang xóa thư mục. rmdir[] của PHP có thể được sử dụng để xóa các thư mục.

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

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

Chủ Đề