fpassthru() (fpassthru)
تابع fpassthru برای «خواندن تا انتها (EOF)» از موقعیت فعلی فایل است. این یعنی از همین جای فعلی می خواند و مستقیم به خروجی می فرستد. اینجا تمرکز ما روی خواندن فایل با fpassthru است.
تعریف ساده، سینتکس و نکات مهم
سینتکس: fpassthru(file). ورودی باید یک فایلِ باز باشد. خروجی تعداد کاراکترهای ارسال شده است. اگر خطا رخ دهد، مقدار FALSE برمی گردد.
نکته: در ویندوز برای فایل های باینری، فایل را در حالت باینری باز کن. همچنین اگر قبلاً نوشته ای، با rewind اشاره گر را به آغاز ببر. اگر فقط می خواهی کل فایل چاپ شود، readfile راحت تر است.
نمونه: خواندن از موقعیت فعلی تا انتهای فایل
<?php
$file = fopen("test.txt", "r");
$fline = fgets($file);
echo $fline;
echo "<br>";
echo fpassthru($file);
fclose($file);
?>
گام های عملی خواندن فایل با fpassthru
- با fopen فایل را باز کن.
- در صورت نیاز کمی بخوان یا
rewindبزن. fpassthruرا صدا بزن تا تا انتها چاپ شود.- در پایان، همیشه
fcloseرا فراخوانی کن.
هشدار: اگر فایل بسیار بزرگ است، خروجی مستقیم می تواند زیاد باشد. بهتر است خروجی را صفحه بندی یا استریم کنی.
جمع بندی سریع
- fpassthru از موقعیت فعلی تا انتها می خواند.
- برای باینری در ویندوز، حالت باینری را بزن.
- برای چاپ کل فایل، readfile ساده تر است.
- پس از کار با فایل، fclose را فراموش نکن.