Hàm scandir()
trong PHP được sử dụng để liệt kê các tệp tin và thư mục trong một thư mục cụ thể. Hàm này trả về một mảng chứa tên của các tệp tin và thư mục theo thứ tự mà chúng được tìm thấy. Scandir()
cung cấp một cách tiện lợi để quét và truy cập các file và thư mục trong hệ thống file của server. Trong bài viết này, hãy cùng Vietnix tìm hiểu cách lấy tất cả các file từ thư mục hiện tại hoặc thư mục được chỉ định bằng cách sử dụng hàm scandir()
trong PHP.
Hàm scandir() là gì?
Hàm scandir()
trong PHP là một hàm có sẵn được sử dụng để trả về một mảng các file và folder trong thư mục đã chỉ định. Hàm này liệt kê các file và thư mục có trong một đường dẫn cụ thể. Thư mục và thứ tự sắp xếp của các file và thư mục được truyền dưới dạng tham số cho hàm scandir()
. Hàm trả về một mảng tên file nếu thành công hoặc FALSE nếu thất bại.

Cú pháp | scandir(directory, sorting_order, context); |
Tham số | directory : Đây là tham số bắt buộc chỉ định đường dẫn. sorting_order : Đây là tham số tùy chọn chỉ định thứ tự sắp xếp. Thứ tự tăng dần theo bảng chữ cái (0) là thứ tự sắp xếp mặc định. Nó có thể được đặt thành SCANDIR_SORT_DESCENDING hoặc 1 để sắp xếp theo thứ tự giảm dần theo bảng chữ cái hoặc SCANDIR_SORT_NONE để trả về kết quả chưa được sắp xếp. context : Đây là tham số tùy chọn này cho phép người dùng cung cấp đối tượng context cho hàm scandir() sử dụng. |
Giá trị trả về | Trả về một mảng tên file nếu thành công hoặc False nếu thất bại. |
Lỗi và ngoại lệ | Hàm scandir() đưa ra lỗi ở mức E_WARNING nếu mục tiêu được chỉ định không phải là thư mục.Thực hiện scandir() đệ quy trên một thư mục có nhiều file có thể sẽ làm chậm ứng dụng của bạn hoặc khiến mức tiêu thụ RAM tăng cao do kích thước lớn của mảng được tạo. |
Hướng tiếp cận | Để lấy tất cả các file từ thư mục cụ thể, người dùng chỉ cần chỉ định dường dẫn đầy đủ của file đó và giá trị này phải được lưu vào biến tên là $mydir. Tiếp theo dùng hàm scandir() dò các file trong thư mục hiện tại hoặc đã chỉ định, trả về mảng gồm file và thư mục. Theo mặc định, mảng này được căn chỉnh theo thứ tự tăng dần của bảng Alphabet; 0 là thứ tự mặc định; 1 là thứ thự giảm dần và SCANDIR_SORT_NONE là không sắp xếp thứ tự. |
Ví dụ minh hoạ hàm scandir() trong PHP
- Trả về mảng tên file theo thứ tự tăng dần:
<?php
// Specifying directory
$mydir = '/docs';
// Scanning files in a given directory in ascending order
$myfiles = scandir($mydir);
// Displaying the files in the directory
print_r($myfiles);
?>
Output như sau:
( [0] => . [1] => .. [2] => aboutus.php [3] => contact.php [4] => index.php [5] => terms.php )
- Trả về mảng theo thứ tự giảm dần:
<?php
// Specifying directory
$mydir = '/docs';
// Scanning files in a given directory in descending order
$myfiles = scandir($mydir, 1);
// Displaying the files in the directory
print_r($myfiles);
?>
Output như sau:
Array ( [0] => terms.php [1] => index.php [2] => contact.php [3] => aboutus.php [4] => .. [5] => . )
- Trả về mảng không có sắp xếp:
<?php
// Specifying directory
$mydir = '/docs';
// Scanning files in a given directory in unsorted order
$myfiles = scandir($mydir, SCANDIR_SORT_NONE);
// Displaying the files in the directory
print_r($myfiles);
?>
Output như sau:
Array
(
[0] => .
[1] => ..
[2] => contact.php
[3] => terms.php
[4] => index.php
[5] => aboutus.php
)
Dịch vụ VPS Vietnix – Giải pháp an toàn, nhanh chóng và tiện lợi
VPS Vietnix mang đến giải pháp thuê máy ảo VPS mạnh mẽ, giúp doanh nghiệp và cá nhân tối ưu hiệu suất vận hành. Hệ thống mạng băng thông rộng 200 Mbps trong nước, 20 Mbps quốc tế giúp website và ứng dụng hoạt động trơn tru, không gián đoạn. Đặc biệt, Vietnix tích hợp hệ thống sao lưu tự động hàng tuần, lưu trữ trên server độc lập, giúp dễ dàng phục hồi dữ liệu khi cần. Giao diện quản trị trực quan với đầy đủ tính năng như khởi động/tắt/reset VPS, truy cập noVNC Console, theo dõi tài nguyên theo thời gian thực, giúp quản lý dễ dàng và chủ động.
VPS NVMe Vietnix được thiết kế dành cho những hệ thống yêu cầu tốc độ truy xuất dữ liệu cao và khả năng xử lý mạnh mẽ. Trang bị ổ cứng NVMe Enterprise giúp tốc độ đọc/ghi nhanh gấp 10 lần so với SSD thông thường, kết hợp với CPU Intel Platinum mạnh mẽ, dịch vụ này mang lại hiệu suất vượt trội, đáp ứng nhu cầu từ website thương mại điện tử, ứng dụng doanh nghiệp đến các dự án AI, Big Data.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hàm scandir()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác như kiểu dữ liệu trong PHP hoặc tìm hiểu lệnh in ra màn hình trong PHP để hiểu hơn về lập trình, chúc bạn thành công!
Mọi người cũng xem