Hàm fgetc() trong PHP
Trần Thị Vân
- 1260
- 09/08/2025
Chức năng của Hàm fgetc() trong PHP
Hàm fgetc() trong PHP dùng để đọc một ký tự ở vị trí hiện tại của con trỏ tệp, sau khi đọc một ký tự xong con trỏ tệp sẽ di chuyển qua ký tự tiếp theo, nó di chuyển cho đến khi không còn gì để đọc, ví dụ như trường hợp đọc từ đầu tệp đến cuối tệp sẽ dừng.
Cú pháp của Hàm fgetc() trong PHP
$ký_tự = fgetc($file_đang_ở_chế_độ_mở);
$file_đang_ở_chế_độ_mở: File đang ở chế độ mở.
$ký_tự: Kết quả trả về ký tự của vị trí hiện tại của con trỏ tệp, sau đó đi tiếp tới ký tự tiếp theo.
Code Hàm fgetc() trong PHP
Nội dung file:
<p>Hàm fgetc() trong PHP dòng 1</p>
<p>Hàm fgetc() trong PHP dòng 2</p>
<p>Hàm fgetc() trong PHP dòng 3</p>
<p>Hàm fgetc() trong PHP dòng 4</p>
<p>Hàm fgetc() trong PHP dòng 5</p>
<p>Hàm fgetc() trong PHP dòng 6</p>
<p>Hàm fgetc() trong PHP dòng cuối</p>
Code Hàm fgetc():
<?php
// Quy định chế độ đọc, chuyển chế độ đọc của file ở trạng thái mở
$filenguon = fopen("thumuctest/test.txt", "r");
// Khi còn gì để đọc thì nó lặp tiếp, khi không còn gì để đọc thì dừng vòng lặp
while (($kytu = fgetc($filenguon)) !== false) {
// Mỗi lần lặp đọc một ký tự và đi tới ký tự tiếp theo
echo $kytu;
}
// Đóng trạng thái mở của file
fclose($filenguon);
?>
Kết quả:
Hàm fgetc() trong PHP dòng 1
Hàm fgetc() trong PHP dòng 2
Hàm fgetc() trong PHP dòng 3
Hàm fgetc() trong PHP dòng 4
Hàm fgetc() trong PHP dòng 5
Hàm fgetc() trong PHP dòng 6
Hàm fgetc() trong PHP dòng cuối
Ứng dụng của hàm fgetc() trong PHP khi đọc file
Hàm fgetc() trong PHP đọc từng ký tự trong file
Hàm fgetc() phù hợp khi cần xử lý dữ liệu theo từng ký tự thay vì lấy cả dòng cùng lúc. Mỗi lần gọi hàm, PHP đọc một ký tự tại vị trí hiện tại của con trỏ file và tự động dịch chuyển con trỏ sang vị trí tiếp theo.
Cách đọc này hữu ích khi cần kiểm tra hoặc xử lý riêng từng ký tự, chẳng hạn đếm số ký tự, tìm một ký hiệu cụ thể hoặc thực hiện thao tác với nội dung có cấu trúc đơn giản.
<?php
$file = fopen("data.txt", "r");
while (!feof($file)) {
$char = fgetc($file);
if ($char !== false) {
echo $char;
}
}
fclose($file);
?>
Trong ví dụ trên, fgetc() lần lượt lấy từng ký tự cho đến khi không còn dữ liệu để đọc. Việc kiểm tra giá trị trả về khác false giúp tránh xử lý dữ liệu không hợp lệ ở cuối quá trình đọc.
Kết hợp hàm fgetc() với feof() để đọc toàn bộ file
Khi cần duyệt toàn bộ nội dung theo từng ký tự, fgetc() thường được sử dụng cùng feof(). Hàm feof() giúp xác định con trỏ file đã đi đến cuối dữ liệu hay chưa, từ đó tạo điều kiện để vòng lặp dừng đúng lúc.
<?php
$file = fopen("data.txt", "r");
while (!feof($file)) {
$char = fgetc($file);
if ($char !== false) {
// Xử lý từng ký tự tại đây
}
}
fclose($file);
?>
Cách kết hợp này đặc biệt phù hợp với những tác vụ cần kiểm soát dữ liệu ở cấp độ ký tự. Tuy nhiên, nếu mục tiêu chỉ là đọc nội dung theo từng dòng thì nên cân nhắc fgets() để tránh phải xử lý từng ký tự một cách không cần thiết.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm fgetc() trong PHP.
- 0 Bình luận
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 *