60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

توابع کار با فایل در PHP

توابع کار با فایل و فولدر در php

 

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

 

کار با فایل ها در PHP

کار با فایل ها در PHP ، از مباحث مهم در بحث یادگیری این زبان برنامه نویسی است. بدون فایل ها در php ، شما توانایی محدودی در انجام عملیات های مختلف دارید و می توان آنرا به یک سیستم بدون حافظه دایمی تشبیه کرد که قدرت عملیاتی بالایی دارد اما توان ذخیره سازی نتایج این عملیات را ندارد. بنابراین ضروری است که شما با این مباحث آشنایی داشته باشید. چهار عمل اصلی وجود دارد که برای کار با فایل در php با آن سروکار خواهید داشت این موارد عبارتند از :

  1. باز کردن فایل
  2. خواندن از روی فایل
  3. نوشتن بر روی فایل
  4. بستن فایل

در ادامه به بررسی نحوه کار با فایل ها در php با این چهار عملیات می پردازیم.

 

باز کردن فایل در php

برای باز کردن فایل در php می توان از تابع ()fopen استفاده کرد. این تابع دو پارامتر دارد.

اولین پارامتر نام فایل است.

دومین پارامتر حالت باز شدن فایل (mode) را مشخص می کند. در زیر لیست تمامی حالت های این پارامتر همراه با توضیحات شان را ارائه داده ایم:

  • r : فایل را فقط خواندنی یا read only باز می کند.
  • r+ : فایل را با قابلیت خواندن و نوشتن روی آن باز می کند.
  • w : فایل با قابلیت فقط نوشتن باز می کند.
  • w+ : فایل با قابلیت نوشتن و خواندن باز می کند
  • a : فایل با قابلیت فقط نوشتن باز میکند.
  • a+ : فایل با قابلیت نوشتن و خواندن باز می کند.

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

این کد برای باز کردن فایل webdictionary.txt استفاده می شود و در صورتی که نتواند این فایل را باز کند پیغامی را به کاربر نشان می دهد.

 

خواندن فایل در php

خواندن فایل در php با استفاده از تابع ()fread انجام می شود . این تابع نیز دو پارامتر ورودی دارد که اولین پارامتر نام فایل را نشان می دهد و پارامتر دوم برای تعیین حداکثر تعداد بایت خواندن را مشخص می کند. قبل از اجرای دستور خواندن فایل باید فایل با تابع fopen باز شود تا قابل دسترسی باشد. همچنین سایز فایل را نیز باید محاسبه کنیم. که برای این کار از تابع filesize استفاده می کنیم. در دستور زیر نحوه استفاده از این تابع را مشاهده می کنید:

 

در صورتی که بخواهیم فقط یک خط از فایل را بخوانیم از تابع ()fgets استفاده می کنیم. این تابع در بار اول خط اول را می خواند و در هر بار اشاره گر فایل را به خط بعدی انتقال می دهد. بطور مثال:

تابع  ()fgetc نیز برای خواندن یک کاراکتر به کار می رود. این تابع نیز بعد از هر بار اجرا، اشاره گر را به کاراکتر بعدی منتقل می کند.

 

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

این کد تمامی نام های موجود در names.txt را خوانده و با علامت – از یکدیگر جدا کرده و چاپ می کند. برای چاپ از دستور حلقه foreach استفاده شده است که آموزش این دستور را می توان در آموزش حلقه foreach مشاهده نمایید.

 

نوشتن روی فایل در php

برای نوشتن محتویات داخل فایل در php از تابع ()fwrite استفاده می کنیم. دو پارامتر برای این تابع وجود دارد. اولین پارامتر تابع نام فایل را نشان می دهد و دومین پارامتر رشته ای که باید در فایل نوشته شود را مشخص می کند. مثال زیر نحوه استفاده از این تابع را نشان می دهد.

خروجی این تابع به صورت زیر است:

در تابع ()fwrite می توانیم از یک آرگومان سوم نیز استفاده کنیم. این ارگومان اختیاری بوده و برای تعریف طول رشته ای که می خواهیم اضافه کنیم استفاده می شود. تابع بعد از رسیدن به این طول تعیین شده، متوقف می شود.

 

بستن فایل در php

همانطور که پیش تر گفته شد پس از اینکه کار ما با یک فایل در php به اتمام رسید بسیار مهم است که آن فایل بسته شود. زیرا باز بودن فایلهای اضافی منابع ما را هدر خواهد داد. برای اینکه یک فایل را ببندیم باید از تابع ()fclose استفاده کنیم. این تابع یک پارامتر بیشتر ندارد و تنها نام فایل را بعنوان ورودی دریافت می کند و فایل را می بندد. در صورتی که عملیات تابع به درستی انجام شود و فایل بسته شود تابع مقدار true را بر میگرداند.  در ادامه مثالی از این تابع را می بینید:

همانطور که مشاهده می کنید در این مثال فایل webdictionary.txt در ابتدا با تابع fopen باز شده و پردازش های لازم بر روی آن انجام شده و در نهایت بوسیله تابع fclose بسته شده است. بدیهی قبل از اجرای این تابع باید حتما فایل با دستور fopen باز شده باشد. در این قسمت از آموزش به بررسی کار با فایل در php پرداختیم و با  مهم ترین توابع آن آشنا شدیم.

 

توابع کاربردی برای فایل

در این قسمت برخی از کاربردی ترین توابع کار با فایل در php را بررسی می کنیم.

()touch

این تابع برای ساخت یک فایل در یک مسیر مشخص استفاده می شود. پارامتر ورودی این تابع شامل نام و مسیر فایل است. مثال:

 

()file_exists 

تابع ()file_exists  بررسی می کند که آیا فایل ورودی با نام مشخص در مسیر تعیین شده، وجود دارد یا خیر.

 

()filesize

تابع ()filesize برای تعیین اندازه فایل به کار می رود. خروجی این تابع اندازه فایل برحسب بایت و بصورت یک عدد صحیح است.

 

()rename

با استفاده از تابع ()rename می توانید نام فایل موردنظرتان را تغییر دهید. برای این کار باید نام قدیم فایل و نام جدید فایل را به عنوان پارامتر ورودی به تابع بفرستید.

 

یک کاربرد دیگر تابع ()rename برای cut کردن فایل است. برای اینکار کافی است بجای پارامتر دوم مسیر جدید را قرار دهید تا فایل در داخل این مسیر قرار بگیرد. نکته قابل توجه این است که می توانید فایل قبلی را با همان نام در مسیر جدید بگذارید و الزامی به تغییر نام نیست.

 

 ()copy

برای کپی کردن یک فایل می توانید از تابع  ()copy استفاده کنید. این تابع دو پارامتر ورودی دارد که مسیر فعلی فایل و مسیر جدید برای فایل کپی را مشخص می کند.

 

()unlink

تابع دیگری که برای حذف فایل استفاده می شود تابع ()unlink است. این تابع فایل ورودی را به طور کامل حذف می کند.

 

 ()rmdir

گاهی ممکن است نیاز داشته باشیم که پوشه حاوی تابع را حذف کنیم. برای اینکار از تابع  ()rmdir استفاده می کنیم و نام پوشه را به داخل تابع می فرستیم.

 

()getcwd

آخرین تابعی که در این بخش معرفی می کنیم تابع ()getcwd است که با کمک آن می توانید مسیر قرارگیری فایل فعلی را بدست آورید.

دیدگاهتان را بنویسید

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