fgetc() (fgetc)
تابع fgetc() یک کاراکتر از فایلِ باز می خواند. «کاراکتر (Character)» یعنی یک نویسه؛ مثل یک حرف یا علامت.
fgetc چیست و کِی کاربرد دارد؟
طبق منبع، fgetc() یک کاراکتر از فایل می دهد. اما روی فایل های بزرگ کند است. بنابراین بهتر است برای فایل های بزرگ، با fgets() خط به خط بخوانیم و بعد هر خط را کاراکتر به کاراکتر پردازش کنیم.
نمونه 1: خواندن اولین کاراکتر
ابتدا فایل را باز کن، سپس یک کاراکتر بخوان و در پایان ببند:
<?php
$file = fopen("test.txt", "r");
echo fgetc($file);
fclose($file);
?>
سه گام عملی
نمونه 2: خواندن کاراکتر به کاراکتر تا انتهای فایل
تا رسیدن به «انتهای فایل (EOF)» با feof() بررسی کن:
<?php
$file = fopen("test.txt", "r");
while (!feof($file)) {
$ch = fgetc($file);
if ($ch !== false) {
echo $ch;
}
}
fclose($file);
?>
نکات و هشدارها
نکته: این تابع Binary Safe است؛ یعنی روی داده باینری هم درست می خواند.
هشدار: روی فایل های خیلی بزرگ کند است؛ از خواندن کاراکتر از فایل با fgets شروع کن.
جمع بندی سریع
- fgetc یک کاراکتر برمی گرداند.
- در EOF مقدار FALSE می دهد.
- برای فایل بزرگ، fgets مناسب تر است.
- فراموش نکن فایل را ببندی.