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. |
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.
VPS Vietnix – Giải pháp máy chủ ảo đáp ứng mọi nhu cầu với hiệu suất tối ưu
Vietnix cung cấp dịch vụ thuê VPS mạnh mẽ với tốc độ tải trang nhanh, giúp tối ưu trải nghiệm người dùng và nâng cao hiệu quả kinh doanh. Hệ thống sử dụng ổ cứng SSD/NVMe Enterprise cùng CPU Intel Xeon, AMD, kết hợp công nghệ ảo hóa tiên tiến để mang lại hiệu suất cao. Đồng thời, hệ thống backup tự động hàng tuần đảm bảo an toàn dữ liệu, lưu trữ trên server độc lập.
Không chỉ cung cấp các gói VPS cao cấp, Vietnix còn mang đến giải pháp VPS giá rẻ, phù hợp với cá nhân và doanh nghiệp cần một hệ thống ổn định với chi phí tối ưu. Được trang bị ổ cứng SSD Enterprise RAID 10, VPS giá rẻ của Vietnix đảm bảo tốc độ truy xuất dữ liệu nhanh và an toàn. Cam kết uptime 99.9% và đạt các chứng nhận bảo mật quốc tế như ISO 27001:2022, ISO 9001:2015, Vietnix đảm bảo mọi hoạt động kinh doanh của bạn diễn ra liên tục và an toàn.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
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!
Mọi người cũng xem