در این بخش میخواهم روشهای خواندن محتویات یک فایل رو شرح بدم . از دو تابع fgets و fread  برای خواندن فایلها استفاده میشود . هر دو تابع فوق با دو پارامتر قابل دسترسی هستند . پارامتر اول نام فایل مورد نظر است و پارامتر دوم حجم بایتی از فایل که میخواهید فراخوانی کنید .

در مثال زیر یک فایل با نام test.txt  خوانده شده و به صورت خط به خط نمایش داده میشود :

<?php

$handle = fopen('test.txt',"rb");

while(!feof($handle))
{
  $buffer = fgets($handle, 4000);

  echo $buffer."<br>";

}
fclose($handle);

 

?>

 

در این مثال از تابع جدیدی به نام feof نیز استفاده شده است که بررسی میکند عملیات خواندن یا نوشتن در فایل به انتها رسیده است یا خیر .

 

همان طور که در مثال فوق مشاهده میکنید با استفاده از تابع fgets  خط به خط فایل خوانده شده است . اما تابع fread میتواند کل فایل را تا محدوده ای که مشخص میکنید بخواند مثلا :

 

$Get_Text = fread ('$FileName',1000);

 

فکر میکنم تفاوت دو تابع رو متوجه شدید . تابع fgets بر روی کرسر خط جاری تمرکز داره اما تابع fread کل فایل را در نظر میگیرد .

 

پس بنابراین با دستور زیر میتوان کل فایل را خواند :

 

$Get_Text = fread ('$FileName',filesize('$FileName'));

 

فقط نکته ای که در مورد مثالها باقی میمونه اینه که در تمامی اونها منظورم از متغیر $FileName نام فایل همراه با متغیر fopen  هست مثلا :

$FileName = fopen('test.txt',"rb");

 

و فرض رو نیز براین گذاشتم که عمل خواندن فایل با موفقیت انجام شده است .