به وسیله قابلیت مدیریت فایل ها در PHP، شما می توانید فایل های متنی و یا سایر فایل ها را باز کرده، خوانده ، ویرایش نموده و یا جستجو نمایید. در این بخش قصد داریم تا متدها و توابعی که برای کار با فایل ها در PHP در نظر گرفته شده اند، را تشریح نماییم.
مدیریت فایل ها و باز کردن یک فایل – متد ( ) fopen :
به وسیله تابع ( ) fopen در PHP ، می توانید یک فایل را باز کنید .
این تابع دو پارامتر اصلی دارد . پارامتر اول تعیین کننده نام و آدرس فایل و پارامتر دوم تعیین کننده نحوه باز کردن فایل است . در ادامه به توضیح این پارامترها خواهیم پرداخت .
برای کار با این تابع ، باید خروجی آن را در یک متغیر ذخیره نمود و سپس آن متغیر را در سطح برنامه استفاده نمود .
حتما بخوانید: مرجع توابع کار با پوشه ها در 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 قرار دهیم .
حتما بخوانید: مرجع توابع کار با FTP در PHP
شکل کلی استفاده از این متد به صورت زیر است :
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 ) ; ? > |
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
مدیریت فایل ها در PHP به شما این امکان را میدهد که برنامههای کاربردی قوی و دینامیکی بسازید. با استفاده از توابع فوق، شما میتوانید به راحتی با فایلها تعامل داشته باشید و اطلاعات را ذخیره یا بازیابی کنید. این توابع پایهای هستند که هر توسعهدهنده PHP باید با آنها آشنا باشد تا بتواند پروژههای خود را به خوبی مدیریت کند.