Hàm filetype() trong PHP
Trần Thị Vân
- 1283
- 10/08/2025
Chức năng của Hàm filetype() trong PHP
Hàm filetype() trong PHP dùng để kiểm tra tệp hoặc thư mục thuộc kiểu nào, thuộc kiểu file bình thường (file) hay thư mục (dir), hoặc thuộc các kiểu khác như: fifo, char, block, link, socket, unknown,....
Cú pháp của Hàm filetype() trong PHP
$kiểu = filetype("đường_dẫn_đến_file_hoặc_thư_mục");
đường_dẫn_đến_file_hoặc_thư_mục: Đường dẫn đến file hoặc thư mục.
$kiểu: Kết quả trả về kiểu của file hoặc thư mục.
Code Hàm filetype() trong PHP
<?php
// Đường dẫn đến file
$filenguon = 'thumuctest/test.txt';
// Trả về kiểu của file
echo filetype($filenguon)."<br>";
// Kết quả: file
// Đường dẫn đến thư mục
$thumuc = 'thumuctest';
// Trả về kiểu của thư mục
echo filetype($thumuc)."<br>";
// Kết quả: dir
?>
Kết quả:
file
dir
Cách sử dụng hàm filetype() trong PHP hiệu quả
Hàm filetype() hữu ích khi chương trình cần xác định một đường dẫn đang trỏ đến loại đối tượng nào trước khi thực hiện các thao tác tiếp theo. Thay vì xử lý trực tiếp và giả định đường dẫn là file, bạn có thể kiểm tra kết quả trước để hạn chế lỗi trong quá trình đọc, ghi hoặc quản lý dữ liệu.
Kiểm tra loại file trước khi xử lý
Trước khi thao tác với một đường dẫn, nên dùng filetype() để xác định đó là file thông thường hay một dạng đối tượng khác. Cách này đặc biệt phù hợp với các chức năng duyệt thư mục, quản lý file hoặc xử lý dữ liệu được người dùng tải lên.
Ví dụ, chỉ thực hiện xử lý khi đường dẫn thực sự là một file:
<?php
$path = 'uploads/data.txt';
if (filetype($path) === 'file') {
echo 'Đây là file cần xử lý.';
}
?>
Việc kiểm tra trước giúp chương trình tránh áp dụng thao tác dành cho file lên thư mục hoặc đường dẫn không phù hợp. Khi kết hợp với is_file(), có thể xây dựng điều kiện rõ ràng hơn tùy mục đích của từng đoạn mã.
Phân biệt file và thư mục bằng filetype()
Một trong những trường hợp sử dụng phổ biến là phân biệt file với thư mục khi duyệt nội dung của một thư mục. Hàm có thể trả về file đối với file thông thường và dir đối với thư mục.
<?php
$path = 'uploads';
$type = filetype($path);
if ($type === 'dir') {
echo 'Đường dẫn này là thư mục.';
} elseif ($type === 'file') {
echo 'Đường dẫn này là file.';
}
?>
Cách kiểm tra này giúp chương trình lựa chọn đúng hướng xử lý. Chẳng hạn, khi xây dựng trình quản lý file, thư mục có thể được mở để xem các mục bên trong, trong khi file sẽ được đưa sang bước đọc, tải xuống hoặc hiển thị thông tin.
Xử lý kết quả khi file không tồn tại
Không nên giả định mọi đường dẫn đều tồn tại. Nếu đường dẫn không hợp lệ hoặc không thể truy cập, filetype() có thể trả về false. Vì vậy, chương trình nên kiểm tra kết quả trước khi sử dụng tiếp.
<?php
$path = 'uploads/example.txt';
$type = filetype($path);
if ($type === false) {
echo 'Không thể xác định loại đường dẫn.';
} else {
echo 'Loại: ' . $type;
}
?>
Cách xử lý này đặc biệt cần thiết với đường dẫn được tạo động từ dữ liệu bên ngoài. Kiểm tra kết quả trước khi xử lý giúp tránh cảnh báo không cần thiết và làm cho luồng chương trình dễ kiểm soát hơn.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm filetype() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *