Hàm fgets()
trong PHP là một phương thức dùng để đọc từng dòng từ tệp tin đã mở. Phương thức này cho phép trích xuất một dòng văn bản từ tệp và di chuyển con trỏ đọc đến dòng kế tiếp. Đây là một công cụ quan trọng trong việc xử lý dữ liệu tệp tin trong PHP, thường được áp dụng trong các kịch bản xử lý văn bản và dữ liệu dòng theo dòng. Trong bài viết này, Vietnix sẽ cùng bạn khám phá chi tiết cách sử dụng hàm fgets()
trong PHP.
Hàm fgets() là gì?
Hàm fgets()
trong PHP là một hàm có sẵn được sử dụng để trả về một dòng từ một file đang mở.
- Phương thức
fgets()
trong PHP được sử dụng để trả về một dòng từ một tệp chỉ định. - Dừng trả về khi đạt đến một độ dài xác định, đến cuối tệp (EOF) hoặc khi gặp dòng mới, tùy theo điều kiện nào được đáp ứng trước.
- Tệp cần đọc và số byte cần đọc được gửi dưới dạng tham số cho hàm
fgets()
. Hàm fgets()
sẽ trả về một chuỗi có độ dài -1 byte từ tệp do người dùng chỉ định.- Trả về False khi thất bại.
Hàm này thường được sử dụng trong các tình huống đọc dữ liệu từ tệp tin theo từng dòng, chẳng hạn như đọc nội dung của một tệp tin văn bản, log file, hoặc tệp tin dữ liệu có cấu trúc dòng.
Cú pháp | fgets(file, length) |
Tham số | Hàm fgets() trong PHP chấp nhận hai tham số.file : Chỉ định file mà các ký tự phải được trích xuất. length : Chỉ định số byte được đọc bởi hàm fgets() . Nếu bỏ qua tham số này, hàm sẽ đọc một dòng văn bản có độ dài tối đa là 1024 byte. |
Giá trị trả về | Trả về một chuỗi có độ dài -1 byte từ file được người dùng chỉ ra hoặc False nếu thất bại. |
Mọi người cũng quan tâm:
Lỗi và ngoại lệ
- Không được tối ưu hóa cho các tệp lớn vì đọc từng dòng một và có thể mất nhiều thời gian để đọc hoàn toàn một tệp dài.
- Bộ đệm phải được xóa nếu hàm fgets() được sử dụng nhiều lần.
- Trả về Boolean False, nhưng nhiều khi trả về một giá trị không phải Boolean và được đánh giá là False.
Ví dụ minh hoạ hàm fgets() trong PHP
Giả định bạn có một file tên vietnix.txt chứa nội dung như sau:
This is the first line.
This is the second line.
This is the third line.
Triển khai cùng với hàm fgets()
thành chương trình:
<?php
// file is opened using fopen() function
$my_file = fopen("vietnix.txt", "rw");
// Prints a single line from the opened file pointer
echo fgets($my_file);
// file is closed using fclose() function
fclose($my_file);
?>
Output sẽ trả kết quả: This is the first line.
Hàm sẽ chỉ đọc một lần một dòng text, có thể hiểu cách khác là hàm đọc cho đến dấu xuống dòng đầu tiên của nội dung, các nội dung sau đó sẽ bị bỏ qua.
Để có thể đọc hết cả file, bạn cần đi kèm các vòng lặp để hàm xử lý toàn bộ nội dung file.
<?php
//file is opened using fopen() function
$my_file = fopen("gfg.txt", "rw");
// prints a single line at a time until end of file is reached
while (! feof ($my_file))
{
echo fgets($my_file);
}
// file is closed using fclose() function
fclose($my_file);
?>
Bằng cách dùng vòng lặp while và hàm foef, kết quả output như sau:
This is the first line.
This is the second line.
This is the third line.
Lời kết
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 fgets()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!