مفهوم Open/Read/Close file در PHP یا همان بازکردن، خواندن و بستن فایل در پی اچ پی ساده است. ما در این مقاله قصد داریم چگونگی یک فایل در سرور باز کردن، خواندن و در نهایت بستن آن را به طور کامل به شما عزیزان آموزش دهیم، همراه داتیس نتورک باشید.
Open/Read/Close file در PHP با تابع ()fopen
بهترین روش برای باز کردن فایل ها در سرور ستفاده از تابع ()fopen است.
این تابع حتی انتخاب های بیشتری نسبت به تابع ()readfile به شما می دهد.
ما از فایل متنی “webdictionary.txt” در طول مباحث استفاده خواهیم کرد:
AJAX = Asynchronous JavaScript and XML CSS = Cascading Style Sheets HTML = Hyper Text Markup Language PHP = PHP Hypertext Preprocessor SQL = Structured Query Language SVG = Scalable Vector Graphics XML = EXtensible Markup Language
نخستین پارامتر ()fopen حاوی نام پرونده ای است که باید باز شود و پارامتر دوم مشخص می کند که کدام پرونده باید باز شود.
در مثال زیر اگر تابع ()fopen قادر به باز کردن فایل مشخص شده باشد، یک پیام تولید خواهد شد:
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile,filesize("webdictionary.txt")); fclose($myfile); ?>
نکته: تابع ()fread و ()fclose در ادامه توضیح داده شده اند:
حالت | توضیحات |
r | فقط فایل را برای خواندن باز می کند. اشاره گر فایل در ابتدای فایل شروع می شود. |
w | فقط یک فایل را برای نوشتن باز می کند. محتویات فایل را پاک می کند یا اگر فایل وجود ندارد، یک فایل جدید ایجاد می کند. اشاره گر فایل در ابتدای فایل شروع می شود. |
a | فقط یک فایل را برای نوشتن باز می کند. اطلاعات موجود در فایل را حفظ می کند. اشاره گر فایل در انتهای فایل شروع می شود. اگر فایل وجود ندارد، یک فایل جدید ایجاد می کند. |
x | یک فایل جدید برای نوشتن ایجاد می کند. اگر فایل در حال حاضر وجود داشته باشد، FALSE را بازگردانی می کند و یک خطا را دریافت می کند. |
+r | فایل را برای خواندن / نوشتن باز می کند. اشاره گر فایل در ابتدای فایل شروع می شود. |
+w | فایل را برای خواندن / نوشتن باز می کند. محتویات فایل را پاک می کند یا اگر فایل وجود ندارد، یک فایل جدید ایجاد می کند. اشاره گر فایل در ابتدای فایل شروع می شود. |
+a | فایل را برای خواندن / نوشتن باز می کند. اطلاعات موجود در فایل را حفظ می کند. اگر فایل وجود ندارد، یک فایل جدید ایجاد می کند. |
+x | یک فایل جدید برای نوشتن ایجاد می کند. اگر فایل در حال حاضر وجود داشته باشد، FALSE را بازگردانی می کند و یک خطا را دریافت می کند. |
خواندن فایل با تابع ()fread و Open file در PHP
تابع ()fread یک فایل باز را می خواند.
پارامتر اول ()fread حاوی نام فایل برای خواندن است و پارامتر دوم حداکثر تعداد بایت را برای خواندن تعیین می کند.
کد PHP زیر فایل “webdictionary.txt” را به پایان می رساند.
fread($myfile,filesize("webdictionary.txt"));
بستن فایل با تابع ()fclose
تابع ()fclose برای بستن یک فایل باز استفاده می شود.
می شود گفت این یک تمرین خوب برای بستن همه فایلهایی است که کارتان با آنها تمام شده است.
با استفاده از این تابع دیگر نیازی به اجرای یک فایل باز در سرور در نیست.
تابع ()fclose نام فایل (یا متغیری که filename را نگه می دارد ) می طلبد.
حالا ما قصد بستن مورد زیر را داریم.
<?php $myfile = fopen("webdictionary.txt", "r"); // some code to be executed.... fclose($myfile); ?>
خواندن (Single Line) تک خط ها با تابع ()fgets
برای خواندن تک خط ها می توان از تابع ()fgets استفاده کرد.
مثال زیر خط اول فایل “webdictionary.txt” را نمایش می دهد:
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fgets($myfile); fclose($myfile); ?>
نکته: بعد از یک فراخوانی از تابع ()fclose، اشاره گر فایل به خط بعدی منتقل می شود.
بررسی (End-Of-File) پایان فایل با تابع ()feof
اگر (end-of-file” (EOF” دریافت شده باشد تابع ()feof آن را بررسی می نماید.
این تابع برای حلقه کردن داده های اندازه های طول مجهول unknown length مفید است.
مثال زیر خط فایل “webdictionary.txt” را ، تا زمانی که پایان فایل رسیده باشد به صورت خط به خط می خواند:
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // Output one line until end-of-file while(!feof($myfile)) { echo fgets($myfile) . "<br>"; } fclose($myfile); ?>
خواندن (Single Character) تک کاراکترها با تابع ()fgetc
از تابع ()fgetc برای خواندن تک کاراکترها در کی فایل استفاده می شود.
مثال زیر خط فایل “webdictionary.txt” را، تا زمانی که پایان فایل رسیده باشد به صورت تک کاراکتر می خواند:
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // Output one character until end-of-file while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
نکته: بعد از یک فراخوانی از تابع ()fgetc، اشاره گر فایل به خط بعدی منتقل می شود.
امیدوارم مقاله آموزش باز کردن، خواندن و بستن فایل در PHP برای شما عزیزان مفید بوده باشد.
داتیس نتورک را در شبکه های اجتماعی دنبال کنید.