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ảnHoặ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ô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 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ệuSử 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";
}
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 có 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
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
0Mã 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ảngArray [ [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à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 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ệnVì 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ặpTiế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