Hàm is_file() trong PHP

Hàm is_file() trong PHP
Hàm is_file() trong PHP

Chức năng của Hàm is_file() trong PHP

Hàm is_file() trong PHP dùng để kiểm tra một đường dẫn có dẫn tới một tệp tin hay không, và tệp tin đó có tồn tại hay không, nếu phải thì trả về true, nếu không phải thì trả về false.

Cú pháp của Hàm is_file() trong PHP

$kết_quả = is_file("đường_dẫn");

đường_dẫn: Đường dẫn để kiểm tra có dẫn tới một tệp tin hay không.

$kết_quả: Nếu đường dẫn có dẫn tới một tệp tin có tồn tại thì trả về true, nếu tệp tin không tồn tại hoặc đó không phải là tệp tin thì trả về false.

Code Hàm is_file() trong PHP

<?php
$filenguon = "thumuctest/test.txt";
if(is_file($filenguon)){
	echo '$filenguon dẫn đến một tệp tin<br>';
}else{
	echo '$filenguon không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại<br>';
}
// Kết quả: $filenguon dẫn đến một tệp tin

$filektt = "thumuctest/khongtontai.txt";
if(is_file($filektt)){
	echo '$filektt dẫn đến một tệp tin<br>';
}else{
	echo '$filektt không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại<br>';
}
// Kết quả: $filektt không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại

$thumuc = "thumuctest";
if(is_file($thumuc)){
	echo '$thumuc dẫn đến một tệp tin<br>';
}else{
	echo '$thumuc không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại<br>';
}
// Kết quả: $thumuc không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại
?>

Kết quả:

$filenguon dẫn đến một tệp tin
$filektt không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại
$thumuc không dẫn đến một tệp tin hoặc tệp tin đó không tồn tại

Những điểm cần lưu ý khi sử dụng hàm is_file() trong PHP

is_file() trả về gì khi đường dẫn không tồn tại?

Khi kiểm tra một đường dẫn bằng is_file(), PHP chỉ trả về true nếu đường dẫn đó tồn tại và trỏ đến một tệp thông thường. Nếu đường dẫn không tồn tại, không thể truy cập hoặc thực tế không phải là tệp, kết quả sẽ là false.

Điều này giúp is_file() phù hợp với các thao tác cần xác nhận tệp trước khi đọc, tải lên, xóa hoặc xử lý nội dung. Thay vì giả định tệp luôn tồn tại, chương trình có thể kiểm tra kết quả trước để hạn chế lỗi trong quá trình thực thi.

<?php
$file = "uploads/anh.jpg";

if (is_file($file)) {
    echo "Tệp tồn tại.";
} else {
    echo "Không tìm thấy tệp.";
}
?>

Cũng cần phân biệt trường hợp đường dẫn tồn tại nhưng trỏ đến một thư mục. Khi đó, is_file() vẫn trả về false vì thư mục không được xem là một tệp thông thường.

Phân biệt is_file() với is_dir() trong PHP

is_file()is_dir() đều dùng để xác định loại đường dẫn, nhưng phục vụ hai mục đích khác nhau. is_file() kiểm tra đường dẫn có trỏ đến tệp hay không, trong khi is_dir() xác định đường dẫn có phải là thư mục hay không.

Hàm Mục đích kiểm tra Kết quả true khi
is_file() Kiểm tra tệp Đường dẫn trỏ đến một tệp thông thường
is_dir() Kiểm tra thư mục Đường dẫn trỏ đến một thư mục

Chẳng hạn, nếu uploads/anh.jpg là một tệp và uploads là một thư mục, hai hàm sẽ cho kết quả khác nhau:

<?php
$file = "uploads/anh.jpg";
$folder = "uploads";

var_dump(is_file($file));
var_dump(is_dir($folder));
?>

Trong tình huống cần xử lý nhiều loại đường dẫn, việc chọn đúng hàm giúp logic chương trình rõ ràng hơn. Không nên dùng is_file() để thay thế cho kiểm tra thư mục hoặc ngược lại.

Khi nào nên dùng is_file() để kiểm tra tệp?

Nên sử dụng is_file() khi chương trình cần xác nhận một đường dẫn thực sự trỏ đến tệp trước khi thực hiện thao tác tiếp theo. Đây là trường hợp thường gặp khi xử lý tệp tải lên, đọc dữ liệu, tạo liên kết tải xuống hoặc xóa tệp trên máy chủ.

Ví dụ, trước khi đọc nội dung, có thể kiểm tra tệp trước để tránh cố gắng xử lý một đường dẫn không hợp lệ:

<?php
$file = "data/info.txt";

if (is_file($file)) {
    $content = file_get_contents($file);
    echo $content;
}
?>

Trong các ứng dụng thực tế, is_file() nên được xem là một bước xác nhận trạng thái đường dẫn, không phải cơ chế thay thế cho việc kiểm tra quyền truy cập, định dạng tệp hoặc tính an toàn của dữ liệu. Nếu tệp được lấy từ dữ liệu người dùng cung cấp, vẫn cần kiểm tra và xử lý đầu vào phù hợp trước khi thao tác với tệp.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm is_file() 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 is_file() 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) !