readfile() (readfile)
با تابع readfile() خیلی سریع فایل را می خوانیم. سپس متن فایل مستقیم در «بافر خروجی (Output Buffer)» نوشته می شود؛ یعنی همان چیزی که مرورگر می بیند.
تعریف و کاربرد ساده
readfile(filename) فایل را می خواند و چاپ می کند. همچنین تعداد بایت های خوانده شده را برمی گرداند. اگر خطا رخ دهد، مقدار FALSE برمی گردد.
نمونه اجرا
این کد فایل test.txt را می خواند و چاپ می کند.
<?php
echo readfile("test.txt");
?>
پارامترها
file: نام فایل ورودی. include_path: اگر TRUE باشد، در include_path هم جست وجو می کند. context: تنظیمات «استریم (Stream)» که رفتار خواندن را تغییر می دهد.
مدیریت خروجی و خطا
تابع مقدار بایت ها را می دهد. می توانیم خطا را با @ پنهان کنیم؛ اما بهتر است خطا را بررسی کنیم.
<?php
$bytes = @readfile("test.txt");
if ($bytes === false) {
// خواندن فایل ناموفق بود
}
?>
گام های عملی سریع
- نام فایل را درست تعیین کن.
- در صورت نیاز، include_path را فعال کن.
- در صورت خطا، مقدار FALSE را چک کن.
نکته: اگر لینک وب را می خوانی، باید «wrapper»ها در php.ini فعال باشند. برای خواندن محتوای برگشتی در متغیر، صفحه file_get_contents() را ببین.
هشدار: مسیر فایل را امن نگه دار. هرگز ورودی خام کاربر را مستقیم به مسیر نده.
جمع بندی سریع
- مستقیماً فایل را چاپ می کند.
- تعداد بایت ها را برمی گرداند.
- روی خطا FALSE می دهد.
- include_path جست وجو را گسترش می دهد.
- برای متن در متغیر، از file_get_contents() استفاده کن.