آموزش PHP - کار با فایل ها در PHP
مقدمه :
به وسیله قابلیت های کار با فایل ها در PHP ، شما می توانید فایل های متنی و یا سایر
فایل ها را باز کرده ، خوانده ، ویرایش نموده و یا جستجو نمایید .
در این بخش قصد داریم تا متدها و توابعی که برای کار با فایل ها در PHP در نظر گرفته
شده اند ، را تشریح نماییم .
باز کردن یک فایل - متد ( ) fopen :
به وسیله تابع ( ) fopen در PHP ، می توانید یک فایل را باز کنید .
این تابع دو پارامتر اصلی دارد . پارامتر اول تعیین کننده نام و آدرس فایل و پارامتر
دوم تعیین کننده نحوه باز کردن فایل است . در ادامه به توضیح این پارامترها خواهیم
پرداخت .
برای کار با این تابع ، باید خروجی آن را در یک متغیر ذخیره نمود و سپس آن متغیر را
در سطح برنامه استفاده نمود .
شکل کلی استفاده از این متد به صورت زیر است :
|
Syntax
|
< ? php
$ نام یک متغیر دلخواه = fopen ( " نحوه باز کردن فایل " , " نام یا آدرس فایل
مورد نظر " ) ;
? > ? >
مثال :
< ? php
$My_File = fopen ( " Example.txt " , " r" ) ;
? >
|
گفتیم که پارامتر اول تعیین کننده نام و یا آدرس فایل مورد نظر است . اما پارامتر دوم
تعیین کننده نحوه باز شدن فایل است . این پارامتر می تواند یکی از مقادیر جدول زیر
را داشته باشد . ضمنا عمکلرد هر مقدار نیز توضیح داده شده است :
|
r
|
در این حالت فایل به صورت فقط خواندنی و از ابتدای آن باز می شود . در این حالت امکان
تغییر فایل برای کاربر وجود ندارد .
|
|
+r
|
در این حالت فایل به صورت خواندنی ، قابل ویرایش و از ابتدا باز می شود . در این حالت
امکان تغییر فایل برای کاربر وجود دارد .
|
|
w
|
در این حالت فایل به صورت فقط نوشتنی و قابل تغییر باز می شود . در این حالت چنان فایل
از قبل وجود داشته باشد ، محتویات آن پاک می شود . و اگر وجود نداشته باشد ، یک فایل
جدید ایجاد می شود .
|
|
+w
|
در این حالت فایل به صورت خواندنی و نوشتنی و قابل تغییر باز می شود . در این حالت
چنان فایل از قبل وجود داشته باشد ، محتویات آن پاک می شود . و اگر وجود نداشته باشد
، یک فایل جدید ایجاد می شود .
|
|
a
|
در این حالت فایل باز شده و متن تعیین شده به انتهای آن اضافه می شود .
|
|
x
|
در این حالت یک فایل جدید با نام تعیین شده ایجاد و به صورت فقط نوشتنی باز می شود
. چنانچه فایل از قبل وجود داشته باشد ، برنامه پیام error صادر کرده و مقدار false
را بر می گرداند .
|
|
+x
|
در این حالت یک فایل جدید با نام تعیین شده ایجاد و به صورت خواندنی و نوشتنی باز می
شود . چنانچه فایل از قبل وجود داشته باشد ، برنامه پیام error صادر کرده و مقدار false
را بر می گرداند .
|
اگر سرور فایل را پیدا نکرده و یا وجود نداشت ، چه می شود :
اگر فایلی که در تابع ( ) fopen تعیین کرده ایم ، وجود نداشت و یا سرور موفق نشد ،
آن را پیدا کند ، برنامه یک پیام error صادر کرده و مقدار false یا 0 را بر می گرداند
.
اسکریپت زیر ، در صورتی که فایل وجود نداشته باشد ، یک پیام هشدار را به کاربر نمایش
می دهد :
|
Example
|
< ? php
$file = fopen ( " welcome.txt " , " r " ) or exit ( " Unable to open file
! " ) ;
? >
|
بستن یک فایل باز شده - متد ( ) fclose :
پس از اینکه یک فایل را با دستور ( ) fopen باز کردیم ، می توانیم آن را با دستور (
) fclose ببندیم .
برای این منظور باید نام متغیری که در هنگام باز کردن فایل به کار بردیم و محتویات
فایل را درون آن ذخیره نمودیم را در پرانتز مقابل تابع ( ) fclose قرار دهیم .
شکل کلی استفاده از این متد به صورت زیر است :
|
Syntax
|
< ? php
fclose ( " نام متغیری که فایل باز شده را در آن قرار داده بودیم" ) ;
? >
مثال :
< ? php
$My_File = fopen ( " Example.txt " , " r" ) ;
// یک فایل را با این دستور باز کرده ایم
..
..
fclose ( $My_File ) ;
// فایل باز شده را بسته ایم
? >
|
چک کردن اینکه به آخر فایل رسیده ایم یا خیر ؟ - متد ( ) feof :
تابع ( ) feof ، چک می کند که آیا برنامه به آخر یک فایل رسیده است یا خیر .
این تابع برای جستجو و یا خواندن فایل های داده ای با حجم نامشخص استفاده می شود .
در این موارد ، برنامه هنگامی که به آخر فایل برسد ، باید جستجو یا عملیات خواندن را
متوقف کند .
نکته : از این تابع در زمانی که فایل را با حالت های w , a
و x باز کرده اید ، نمی توانید استفاده نمایید .
شکل کلی استفاده از این متد به صورت زیر است :
|
Syntax
|
< ? php
feof ( نام فایل مورد نظر ) ;
? >
|
مثال : در مثال زیر یک اسکریپت طراحی شده است که فایل My_File$
را بررسی کرده و چنانچه برنامه به آخر آن رسیده باشد ، یک پیام صادر می کند :
|
Example
|
< ? php
if ( feof ( $ My_File ) ) echo " End of file " ;
? >
|
خواندن یک فایل به صورت خط به خط :
به وسیله تابع ( ) fgetc در PHP ، می توانید یک فایل متنی را باز کرده و به صورت خط
به خط ، بخوانید . سپس در صورت نیاز در خروجی چاپ نمایید .
این تابع فایل را به صورت خط به خط خوانده و پس از خواندن یک خط ، اشاره گر به ابتدای
خط بعدی منتقل می شود .
مثال : اسکریپت مثال زیر یک فایل متنی را به وسیله یک دستور
حلقه ، به صورت خط به خط خوانده و سپس در خروجی چاپ می نماید :
|
Example
|
< ? php
$file = fopen( "welcome.txt", "r" ) or exit ( "Unable to open file!" ) ;
// حلقه زیر فایل را به صورت خط به خط تا رسیدن به آخر آن می خواند
و در خروجی نمایش می دهد
while ( !feof ( $file ) )
{
echo fgets ( $file ) . "< br />" ;
}
fclose( $file ) ;
? >
|
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه :