Trong quá trình phát triển PHP hàng ngày của bạn, bạn thường cần xử lý một hệ thống tệp—ví dụ: lấy danh sách các tệp trong một thư mục cụ thể. PHP cung cấp một vài cách khác nhau để đọc nội dung của một thư mục một cách dễ dàng. Hôm nay, chúng ta sẽ xem qua tất cả các phương pháp này, cùng với các ví dụ để hiểu cách thức hoạt động của từng phương pháp
Hàm 9, 0 và 1
Trong phần này, chúng ta sẽ thảo luận về các hàm
9, 0 và 1 để xem cách bạn có thể sử dụng chúng để lấy danh sách các tệp trong một thư mục cụ thểHàm
9 cho phép bạn mở một bộ điều khiển thư mục mà bạn có thể sử dụng cùng với các hàm khác cho các hoạt động khác nhau trên thư mục. Bạn cần chuyển đường dẫn đến thư mục trong đối số đầu tiên của hàm 9. Nếu đường dẫn thư mục hợp lệ, tài nguyên xử lý thư mục sẽ được trả vềHàm
0 cho phép bạn đọc một thư mục. Bạn cần cung cấp một xử lý thư mục hợp lệ trong đối số đầu tiên của hàm 0 và bạn có thể lặp lại tất cả các mục nhập và nhận danh sách tất cả các tệp trong một thư mụcHàm
1 cho phép bạn đóng điều khiển thư mục được mở bởi hàm 9. Bạn nên sử dụng hàm 1 sau khi hoàn thành các thao tác của mình trên bộ điều khiển thư mục [ban đầu được mở bởi hàm 9]Bây giờ, hãy xem nó hoạt động trong ví dụ sau
Đầu tiên, chúng tôi đã sử dụng chức năng
9 để xử lý thư mục. Tiếp theo, chúng tôi đã sử dụng hàm 0 để lặp qua xử lý thư mục 2 và lưu trữ danh sách các tệp trong mảng 3Hàm 4
Trong phần này, chúng ta sẽ xem cách bạn có thể sử dụng hàm
4 để lấy nội dung thư mụcHàm
4 là một cách khá đơn giản để lấy danh sách các tệp và thư mục trong một thư mục cụ thể. Bạn chỉ cần truyền đường dẫn thư mục mà bạn muốn đọc vào đối số đầu tiên của hàm 4Hãy xem qua ví dụ sau để hiểu cách thức hoạt động của nó
Như bạn có thể thấy, điều này cung cấp một danh sách các tệp và thư mục trong một cuộc gọi. Nếu bạn chỉ cần lấy danh sách các tệp trong một thư mục, thì đây là lựa chọn tốt hơn so với sử dụng
9, 0 và 1Hàm 1
Hàm
1 hoạt động tương tự như hàm 4, với sự khác biệt là nó cho phép bạn chỉ định một mẫu để lọc và so khớp các tệp trong thư mụcHãy xem cách sử dụng hàm
1 để đọc tất cả nội dung của một thư mục cụ thểNhư bạn có thể thấy, chúng tôi đã vượt qua mẫu
5 vì chúng tôi muốn đọc tất cả nội dung. Mặt khác, nếu bạn chỉ muốn liệt kê một loại tệp cụ thể, bạn cũng có thể làm điều đó, như minh họa trong đoạn mã sau________số 8trong trường hợp này,
3 sẽ chỉ chứa tên của các tệp 7Hàm 8
Các tùy chọn mà chúng tôi đã thảo luận cho đến nay cho phép bạn đọc nội dung thư mục theo cách thủ tục. Trong phần này, chúng ta sẽ xem cách bạn có thể sử dụng hàm
8, đây là cơ chế hướng đối tượng để đọc thư mụcKhi bạn sử dụng hàm
8 và chuyển một đường dẫn thư mục vào đối số đầu tiên, hàm này sẽ trả về một thể hiện của lớp 01, mà sau này bạn có thể sử dụng để đọc nội dung thư mụcHãy xem qua ví dụ sau để xem nó hoạt động chính xác như thế nào
Đầu tiên, chúng ta sử dụng hàm
8 để khởi tạo một thể hiện của lớp 01 vào biến 04. Tiếp theo, chúng tôi đã sử dụng phương thức 05 của lớp 01 để lặp lại tất cả các mụcLớp học 07
Trong phần này, chúng ta sẽ xem cách bạn có thể sử dụng lớp
07 để đọc nội dung thư mục. Lợi ích của việc sử dụng lớp 07 là bạn có thể mở rộng các phương thức của lớp này và nó cũng cung cấp rất nhiều phương thức hữu ích khác cho phép bạn tìm nạp nhiều thông tin khác nhau về tệpHãy xem qua ví dụ sau để hiểu cách thức hoạt động của nó
0Như bạn có thể thấy, thật dễ dàng để sử dụng lớp
07 và lặp lại các mục nhập. Trong ví dụ trên, chúng tôi đã sử dụng phương thức 01 của lớp 07 để lấy tên tệp. Tuy nhiên, lớp 07 cũng cung cấp một số phương thức tiện ích như 04, 05, 06, v.v.Vì vậy, đó là cách bạn có thể sử dụng lớp
07 để lấy danh sách các tệp trong một thư mụcSự kết luận
Hôm nay, chúng ta đã thảo luận về các cách khác nhau để liệt kê tất cả các tệp trong một thư mục trong PHP. Dưới đây là bảng so sánh từng phương pháp để giúp bạn chọn phương pháp nào phù hợp với mình