نکته شماره 7 : کار با فایلها در php (بخش دوم )
در این بخش میخواهم روشهای خواندن محتویات یک فایل رو شرح بدم . از دو تابع 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");
و فرض رو نیز براین گذاشتم که عمل خواندن فایل با موفقیت انجام شده است .