file() (file)
تابع file() کل فایل را به یک «آرایه (Array)» می خواند. هر «عنصر (Element)» آرایه، یک خط است. معمولاً کارِ شمارش خط ها یا پردازش خط به خط را ساده می کند.
خواندن فایل در یک آرایه
این نمونه از منبع است. فایل را می خواند و آرایه خطوط را چاپ می کند.
<?php
print_r(file("test.txt"));
?>
سه گام ساده
- مسیر فایل را مشخص کن.
- تابع file() را صدا بزن.
- روی آرایه خطوط، پردازش انجام بده.
پرچم ها (Flags) و رفتار خواندن
با flag می توانی رفتار را عوض کنی. مثلاً خط جدید حذف شود یا خط های خالی رد شوند. همچنین می توانی «مسیرهای include» را جست وجو کنی.
<?php
$lines = file(
"test.txt",
FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES
);
foreach ($lines as $i => $line) {
echo ($i + 1) . ": " . $line . "\n";
}
?>
پارامترها و بازگشتی
filename مسیر فایل است. flag می تواند چند مقدار باشد. context تنظیمات جریان است. اگر موفق شود، یک آرایه می دهد. اگر نشد، مقدار FALSE برمی گردد.
نکته: اگر فایل خیلی بزرگ است، بهتر است خط به خط بخوانی. چون آرایه بزرگ، حافظه بیشتری می گیرد.
مطالب مرتبط
- file_get_contents() برای دریافت کل متن در یک رشته.
- file_put_contents() برای نوشتن سریع در فایل.
- fopen() برای کنترل بیشتر روی خواندن.
جمع بندی سریع
- file کل فایل را آرایه می کند.
- هر عنصر، یک خط است.
- پرچم ها رفتار را تغییر می دهند.
- روی فایل های بزرگ، مراقب حافظه باش.