فایل در PHP

فایل در PHP

برای فایل در PHP توابع مختلفی تعریف می‌شود که برای باز کردن، بستن، خواندن یک فایل استفاده می‌شود. به اختصار با مهمترین این توابع برای فایل آشنا می‌شویم.

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

تابع fopen

تابع ()fopen برای باز کردن فایل ها در پی اچ پی استفاده می‌شود. اولین پارامتر این تابع مشخص می‌کند که تابع با چه نامی باید باز شود و دومین پارامتر مدل فایل را مشخص میکند. در ادامه انواع مدل های این فایل را با ذکر ویژگی توضیح خواهیم داد.

یک مثال در مورد تابع ()fopen مشاهده کنید و با ساختار آن آشنا شوید:

در این مثال welcome.txt نام یک فایل در PHP است و می‌خواهیم تا باز شود و r مدل این فایل است.

فایل ها ممکن است با یکی از مدل های زیر باز شوند:

توضیح

مدل

تنها می‌خواند. در ابتدای فایل شروع می‌شود

r

می‌خواند/ می‌نویسد. در ابتدای فایل شروع می‌شود

r+

تنها می‌نویسد. یک فایل را باز کرده و متن داخلش را پاک می‌کند و یا یک فایل جدیدی که وجود ندارد را می‌سازد

w

می‌خواند و می‌نویسد. یک فایل را باز کرده و متن داخلش را پاک می‌کند و یا یک فایل جدیدی که وجود ندارد را می‌سازد

w+

اضافه کردن. باز می‌کند و در انتهای فایل می‌نویسد یا یک فایل جدید که وجود ندارد را ایجاد می‌کند

a

می‌خواند و اضافه می‌کند. محتویات فایل را با نوشتن آن در آخر فایل حفظ می‌کند.

a+

تنها می‌نویسد.یک فایل جدید می‌سازد. اگر در فایل اشتباه و خطا وجود دارد بر‌میگرداند.

x

می‌خواند و می‌نویسد. یک فایل جدید می‌سازد. اگر در فایل اشتباه و خطا وجود دارد بر‌میگرداند

x+

  •  نکته: اگر تابع ()fopen نتوانستد فایل مشخصی را باز کند تنها ۰ را بر می‌گرداند.

مثال زیر  پیامی را در صورتی که فایل مشخصی را نتواند باز کند را ایجاد می‌کند.

در این مثال اگر فایل welcome.txt باز نشود پیام نمی‌تواند فایلی را باز کند خارج می‌شود.

 بستن فایل در PHP

تابع ()fclose

این تابع برای بستن فایل در PHP استفاده می‌شود:

 چک کردن انتهای فایل

تابع ()feof اگر انتهای فایل در دسترس باشد، آن را چک می‌کند

تابع ()feof برای حلقه هایی که تعداد طول داده های آن مشخص نیست بسیار مناسب است.

  • نکته : به یاد داشته باشید که شما نمی توانید در این مورد فایل هایی که مدل x،a،w هستند را بازکنید.

نحوه نوشتن این فایل به صورت زیر است:

 خواندن یک فایل به صورت خط به خط

تابع ()fgets

این تابع برای خواندن تک تک خط ها در یک فایل استفاده می‌شود.

مثال زیر هر خط فایل خوانده می‌شود تا زمانی که انتهای فایل دسترسی پیدا کند.

 ابتدا باید دستور بدهیم که تا انتهای فایل را بخواند تا زمانی که به انتهای فایل برسد تک تک خط ها را نیز بخواند.

خواندن تک تک کاراکترهای یک فایل

تابع ()fgetc

این تابع تک تک کاراکترهای یک فایل را می‌خواند. به این صورت که پس از خواند فایل اشاره گر آن را به کاراکتر بعدی انتقال می‌دهد.

مثال زیر تک تک کاراکتر های یک فایل را می‌خواند تا زمانی که به انتهای فایل دسترسی پیدا کند.

در این مثال تا زمانی که به انتهای فایل برسد تک تک کاراکتر ها را میخواند.

برای دسترسی به تمام توابع قایل می‌توانید به سیستم فایل در PHP مراجعه کنید.

16 نظرات شما

  • reza-skfp

    اردیبهشت ۱۲, ۱۳۹۳ at ۵:۱۶ ب.ظ
    سلام سایتت عالیه حرف نداره هم از نظر محتوا و هم طراحی. پاگیرش شدم دیگه هر روز اینجام :D البته با اجازه
  • mostafa.

    تیر ۱۴, ۱۳۹۳ at ۹:۵۹ ق.ظ
    با سلام ایا وصل کردن easy php به sql server 2008 می دونید باید چه کارکنم.من برای پروژه لیسانسم خیلی به این نیاز دارم تگر می دونید لطفا میل بدید. ممنون
    • بهاران بنی اسدی

      تیر ۱۴, ۱۳۹۳ at ۷:۳۴ ب.ظ
      سلام دوست خوبم تا حالا با easy php کار نکردم
  • متین

    شهریور ۱۴, ۱۳۹۳ at ۱:۱۵ ق.ظ
    با سلام لطفا اگه امکان داده نمونه سوال یا مثال کاربردی هم در هر مبحث قرار بدبد حالت امتحانی که بشه خودمون به چالش بکشیم با تشکر
  • علی

    شهریور ۱۹, ۱۳۹۳ at ۱۰:۱۰ ق.ظ
    سلام.آموزش جاوا اسکریپت نمیذارین؟
    • بهاران بنی اسدی

      شهریور ۲۲, ۱۳۹۳ at ۶:۰۱ ب.ظ
      سلام، اگر یکی پیش قدم بشه و همکاری کنه حتما میذاریم
  • سعید

    مهر ۱۳, ۱۳۹۳ at ۴:۲۶ ب.ظ
    سایت عالیه حرف نداره .
  • مهرداد

    خرداد ۹, ۱۳۹۴ at ۲:۳۲ ب.ظ
    من محتوای متن فارسی را میخواهم داخل یک فایل .txt با کمک پی اچ پی ذخیره کنم .اما هیچی ذخیره نمی شود
  • معین

    تیر ۲۵, ۱۳۹۴ at ۹:۵۵ ب.ظ
    سلام میخوام یک فایل تکست بسازم مثلا config.txt بعد مثلا خط اول هرچی بود فراخوانی کنم باز در یک جای دیگه خط دوم رو فراخوانی کنم و به همین ترتیب خط هارو جدا جدا فراخوانی کنم راهی هست برای اینکار؟
  • ارسلان سلطانی

    مرداد ۱, ۱۳۹۴ at ۹:۲۱ ب.ظ
    سلام دوست عزیز و گرامی بسیار بسیار تشکر از سایت خوبتون راستش من تاحالا چنین سایتی ندیده بودم و خیلی گرافیک زیبایی دارد محتوا اش که اصلآ حرف ندارد واقعآ کار خوبی انجام میدهید الله قوت : سوال من این بود که آیا من میتوانم هر فایل را از طریق این تابع باز کنم حتی فایل صوتی ؟ و اینکه چگونه میتوانم آدرس فایل را وارد کنم یعنی من فایلم در درایو دی قرار دارد
    • الهه قنبری

      مرداد ۴, ۱۳۹۴ at ۸:۱۴ ق.ظ
      سلام ممنون!امیدوارم مطالب سایت برای شمامفید واقع شده باشد. پاسخ سوال دوم شما این است که شما می توانید آدرس آن درایو را قرار دهید به طور مثال ("c:\\a\\welcome.txt ","r") و در پاسخ سوال اول بهتر است خود امتحان کنید تا نتیجه را مشاهده کنید.
  • شهریار

    مرداد ۱۱, ۱۳۹۴ at ۱۰:۰۰ ق.ظ
    درود بر شما بزرگواران عالی بود .. سپاس گزارم
    • الهه قنبری

      مرداد ۱۶, ۱۳۹۴ at ۱۰:۴۵ ب.ظ
      سلام!ممنون که مطالب سایت را دنبال می کنید!
  • S.H

    آذر ۱۱, ۱۳۹۴ at ۷:۳۱ ق.ظ
    سلام دوستان خداقوت یسوال:سایتتونو با دروپال طراحی کردید؟
  • حسین

    آذر ۲۴, ۱۳۹۴ at ۱۲:۲۹ ق.ظ
    با سلام وسپاس برای سایت زیبا و کار امدتون سوال من اینه که چطور میتونم به یک فایل رو تا یکه نقطه خاص بخونم و وارد یک متغیرش کنم ؟ مثلا تابعی وجود داره که یک فایل بزرگ را تا حرف یا علامتی که ما مشخص میکنی بخونه و این کار تکررا بشه
  • behzadkhan

    اسفند ۲۸, ۱۳۹۴ at ۸:۰۰ ق.ظ
    عالی بود دستتون درد نکنه

پاسخ دهید

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


© 2013 Mobtadi. All rights reserved.
کلیه حقوق مادی و معنوی برای وبسایت مبتدی محفوظ است.