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 C:\xampp\htdocs\newFolder
3 để xóa một thư mục trống trong PHP
C:\xampp\htdocs\newFolder
Chúng ta có thể sử dụng hàm
C:\xampp\htdocs\newFolder
3 để xóa một thư mục trống trong PHP. Hàm này là một hàm PHP dựng sẵnChứ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
C:\xampp\htdocs\newFolder
3Hàm trả về
C:\xampp\htdocs\newFolder
6 trong trường hợp thành công và C:\xampp\htdocs\newFolder
0 nếu khôngThư 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ễnHà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
2Mã 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 LinuxTrong Windows, đầu ra hơi giống như thế này
C:\xampp\htdocs\newFolder
Vì chúng tôi đã tạo một thư mục, bây giờ là lúc xóa nó bằng cách sử dụng
C:\xampp\htdocs\newFolder
3Mã 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 C:\xampp\htdocs\newFolder
3 để 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ệuSử dụng đệ quy để xóa thư mục không trống trong PHP
Như chúng ta biết rằng
C:\xampp\htdocs\newFolder
3 chỉ xóa thư mục trống, chúng ta cần sử dụng chức năng đệ quy và C:\xampp\htdocs\newFolder
3 để 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";
}
5Hà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 với các giá trị chỉ tồn tại trên mảng tham số đầu tiênHà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";
}
5Chươ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
C:\xampp\htdocs\newFolder
9Ví dụ mã bên dưới xóa
C:\xampp\htdocs\newFolder
90 theo cách đệ quyMã ví dụ
C:\xampp\htdocs\newFolder
1Ở đây, hàm
C:\xampp\htdocs\newFolder
91 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. C:\xampp\htdocs\newFolder
90 là C:\xampp\htdocs\newFolder
2 được cung cấpĐầu tiên, hàm lồng nhau
if[is_dir[$path]]{
rmdir[$path];
echo "the directory is deleted";
}
4 thực thi. Nó liệt kê tất cả nội dung của thư mục C:\xampp\htdocs\newFolder
90 dưới dạng một mảngC:\xampp\htdocs\newFolder
8Tiế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ỏ C:\xampp\htdocs\newFolder
98 và C:\xampp\htdocs\newFolder
99 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
C:\xampp\htdocs\newFolder
10 chứa C:\xampp\htdocs\newFolder
11, C:\xampp\htdocs\newFolder
12 và C:\xampp\htdocs\newFolder
13. Sau đó, chúng tôi đã sử dụng vòng lặp C:\xampp\htdocs\newFolder
14 để lặp qua các tệp và thư mục nàyTrong 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 hàm
if[is_dir[$path]]{
rmdir[$path];
echo "the directory is deleted";
}
5. Lặp lại thứ ba C:\xampp\htdocs\newFolder
13 là một thư mục, đáp ứng điều kiệnVì vậy, hàm
C:\xampp\htdocs\newFolder
91 đượ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 bằng 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ặpTiếp theo, thư mục
C:\xampp\htdocs\newFolder
13 bị xóa bằng hàm C:\xampp\htdocs\newFolder
3. Sau đó, cây đệ quy quay trở lại và thư mục mẹ C:\xampp\htdocs\newFolder
90 bị xóa