Định Nghĩa.
Hàm file_exists()
sẽ kiểm tra xem file hoặc thư mục có tồn tại hay không.
Cú pháp.
Cú pháp:
file_exists ( string $filename
) : bool
Trong đó.
$filename
là đường dẫn tới file hoặc thư mục cần kiểm tra.
– Lưu ý: Trên windows, sử dụng // computername / share / filename hoặc \\ computername \ share \ filename để kiểm tra các tệp trên mạng chia sẻ.
Giá trị trả về.
- Hàm sẽ trả về True nếu file, thư mục truyền vào tồn tại. Ngược lại hàm sẽ trả về False..
Lưu ý: - Hàm này sẽ trả về FALSE cho các liên kết tượng trưng trỏ đến các tệp không tồn tại. - Hàm này trả về FALSE cho các tệp không thể truy cập do hạn chế chế độ an toàn. Tuy nhiên, các tệp này vẫn có thể được bao gồm nếu chúng nằm trong safe_mode_include_dir. - Việc kiểm tra được thực hiện bằng cách sử dụng UID / GID thực thay vì kiểm tra có hiệu lực. - Vì loại số nguyên của PHP được ký và nhiều nền tảng sử dụng số nguyên 32 bit, một số hàm hệ thống tệp có thể trả về kết quả không mong muốn cho các tệp lớn hơn 2GB.
Ví dụ.
code:
<?php $filename = '/path/to/foo.txt'; if (file_exists($filename)) { echo "The file $filename exists"; } else { echo "The file $filename does not exist"; } ?>
Ghi chú.
- Khi sử dụng SSL, Microsoft IIS sẽ vi phạm giao thức bằng cách đóng kết nối mà không gửi chỉ báo close_notify. PHP sẽ báo cáo đây là “SSL: Lỗi giao thức nghiêm trọng” khi bạn đến cuối dữ liệu. Để giải quyết vấn đề này, giá trị của error_Vporting nên được hạ xuống mức không bao gồm các cảnh báo. PHP có thể phát hiện phần mềm máy chủ IIS bị lỗi khi bạn mở luồng bằng cách sử dụng trình bao bọc https: // và sẽ chặn cảnh báo. Khi sử dụng fsockopen () để tạo ổ cắm ssl: //, nhà phát triển có trách nhiệm phát hiện và triệt tiêu cảnh báo này
Hàm liên quan.
- readfile() – Đọc một file
- fopen() – Mở một file hoặc một URL
- fsockopen() – Mở kết nối ổ cắm Internet hoặc Unix
- popen() – Opens process file pointer
- file_get_contents() – Reads entire file into a string
- include – include
- stream_context_create() – Creates a stream context
Thông tin thêm.
- Lưu ý: Kết quả của chức năng này được lưu trữ. Xem Clearstatcache () để biết thêm chi tiết. Đó là một lưu ý khá lớn. Đừng quên điều này, vì nó có thể khiến file_exists () của bạn hoạt động bất ngờ – có thể tại thời điểm sản xuất;)
- Tôi cần đo lường hiệu suất cho một dự án, vì vậy tôi đã thực hiện một thử nghiệm đơn giản với một triệu kiểm tra file_exists () và is_file (). Trong một kịch bản, chỉ có bảy trong số các tệp tồn tại. Trong lần thứ hai, tất cả các tập tin tồn tại. is_file () cần 3.0 cho kịch bản một và 3,3 giây cho kịch bản hai. file_exists () cần lần lượt 2,8 và 2,9 giây. Các số tuyệt đối phụ thuộc vào khóa học, nhưng nó chỉ ra rõ ràng rằng file_exists () nhanh hơn.
- Lưu ý rằng realpath () sẽ trả về false nếu tệp không tồn tại. Vì vậy, nếu bạn định tuyệt đối hóa đường dẫn và giải quyết các liên kết tượng trưng, bạn chỉ cần kiểm tra giá trị trả về từ realpath () thay vì gọi file_exists () trước
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm file_exists
() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Cảm ơn các bạn đã ghé thăm codetutam.com