باز کردن/بستن فایل ها در PHP

نوشته‌شده در در کار با فایلها
Loading Likes...

در درس قبلی با نحوه ایجاد فایل آشنا شدید و گفتیم که در زبان PHP برای باز کردن و ایجاد فایل از دستور ()fopen استفاده میشه. در این درس به نحوه باز کردن یک فایل، انواع Modeهای اون، بستن فایل و اینکه چرا باید بعد از پایان کارمون فایل رو ببندیم میپردازیم.

مدها (Modes)

  •  r : باز کردن فایل فقط برای خواندن. اشاره گر فایل در ابتدای فایل قرار میگیرد.
  • +r : باز کردن فایل برای خواندن و نوشتن. اشاره گر فایل در ابتدای فایل قرار میگیرد.
  • w : باز کردن فایل فقط برای نوشتن. اگر فایل وجود داشته باشد محتویات آن پاک میشود واگر وجود نداشته باشد آن را ایجاد میکند.
  • +w : باز کردن فایل برای خواندن و نوشتن. اگر فایل وجود داشته باشد محتویات آن پاک میشود واگر وجود نداشته باشد آن را ایجاد میکند.
  • a : باز کردن فایل برای الحاق کردن محتویات جدید. فایل برای نوشتن باز میشود، اشاره گر فایل در انتهای فایل قرار میگیرد و در صورت موجود نبودن فایل آن را ایجاد میکند.
  • +a: باز کردن فایل برای خواندن یا الحاق کردن محتویات جدید. فایل برای نوشتن باز میشود، اشاره گر فایل در انتهای فایل قرار میگیرد و در صورت موجود نبودن فایل آن را ایجاد میکند.
  • x : نحوه کارش دقیقا مثل w است با این تفاوت که اگر فایل مشخص شده موجود نباشد آن را ایجاد نمیکند و مقدار FALSE را بازگشت میدهد.
  • +x : نحوه کارش دقیقا مثل +w است با این تفاوت که اگر فایل مشخص شده موجود نباشد آن را ایجاد نمیکند و مقدار FALSE را بازگشت میدهد.

 

بادآوری: در صورتی که تابع ()fopen در باز کردن فایل موفق بشه اشاره گر فایل(File handler) رو برمیگردونه و اگر موفق نشه مقدار 0 یا FALSE رو برگشت میده.

 

 

نکته: به عملی که مد w و +w انجام میدن (پاک کردن تمام داده ها قبل از نوشتن) Truncate کردن فایل گفته میشه.

 

 

نحوه استفاده از مدها

برای استفاده کافیه عملی که مد نظرتون هست رو بجای op در کد زیر قرار بدید.

<?php
$File = "testFile.txt";
$fileHandler = fopen($File, 'op') or die("Can't open file");
//Do something...
fclose($fileHandler);
?>

تابع ()die نمیدونی چیه؟! پس معلوم میشه درسهای قبلی رو خوب نخوندی!

 

مثال ها

چند مثال از باز کردن فایل

<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("c:\\folder\\resource.txt", "r");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

 

بستن فایل ها

در پایان کار با فایل باید با استفاده از تابع ()fclose فایل رو ببندید، البته php بعد اجرا شدن اسکریپت خودش این کار رو انجام میده اما احتمال آسیب رسیدن به فایل وجود داره.  پس بهتره شما خودتون همیشه اینکارو انجام بدید چون احتمال داره زمان اجرا شدن اسکریپت طولانی باشه در این مدت پراسس های دیگه نمیتونن به فایل دسترسی داشته باشن چون فایل هنوز در حافظه قرار داره. پس با اینکار در مصرف حافظه هم صرفه جویی میشه به علاوه دلایل امنیتی هم برای این کار وجود داره.

در درس های بعدی با نحوه خواندن، نوشتن،حذف،الحاق،کوتاه کردن(truncate) و آپلود فایل آشنا میشید.

 



سوالی دارید؟

بدون گرفتن نتیجه اینجا رو ترک نکنید! هر سوالی دارید میتونید در عرض ۱۵ ثانیه ثبت نام و خیلی زود جواب بگیرید.

2 دیدگاه برای «باز کردن/بستن فایل ها در PHP»

    1. سلام
      نوشتن یه اموزش وقت میبره و این روزا هم یکمی سرمون شلوغه و امتحانات هم که شروع شده وقت نمیشه آموزش جدید بنویسیم.
      ممنون که مارو همراهی میکنید اگر کمی صبر داشته باشید بزودی آموزشهای جدیدی گذاشته میشه.
      با تشکر.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

− 2 = 3