Hàm filetype() trong PHP

Hàm filetype() trong PHP
Hàm filetype() trong PHP

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
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm filetype() trong PHP
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !