pedia-learning

ورود

گذرواژه‌تان را فراموش کرده‌اید؟

ثبت نام

ثبت نام
انجمن عمومی گسترش فناوری آگو

اگر اولین بار از انجمن بازدید می کنید برای دسترسی کامل به انجمن عضو شوید بعد عضویت قادر به ارسال مطلب و شرکت در بحث خواهید داشت

ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مدیریت فایلها در PHP قسمت اول : خواندن و نوشتن
01-01-2014, 04:07 PM
ارسال: #1
مدیریت فایلها در PHP قسمت اول : خواندن و نوشتن
در سایتها وظیفه ذخیره اطلاعات بر عهده دیتابیس میباشد.برای ذخیره کاربران ، مطالب سایت ، تعداد بازدید ها و …. از دیبتایس استفاده میکنیم.اما گاهی (وشاید بیشتر از گاهی) نیاز داریم تا برای ذخیره تنظیمات یا برای مدیریت عکسهای یک گالری عکس با فایلها سرو کار داشته باشیم.

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

در این سری از آموزشها خواهیم دید چگونه میتونیم فایلها رو مدیریت کنیم.مثل دستکاری محتویات فایلها متنی ، کپی فایلها و پوشه ها ، لیست کردن محتویات پوشه ها و … رو آموزش میبینید.

در ابتدا باید بگم که دو نوع فایل داریم.یک فایل با فرمت ascci و یک نوع فایل باینری. فایلهایی با قالب متنی از نوع اسکی هستند.مثل .txt , html , asp , .php این نوع فایلها بر پایه متن استوار هستند. اما فایلهای باینری بر پایه داده ها استوارند مثل .jpg , mp3 , .gif در کل در فایلهای باینری با نوع خاصی از ذخیره سازی اطلاعات سرو کار داریم.

برای مدیریت این دو نوع فایل توابع زیادی معرفی شده که در این قسمت از آموزش نحوه دستکاری اطلاعات فایلهای متنی رو خواهیم دید.

تابع : file_get_contents

این تابع برای خواندن محتویات یک فایل به کار میره.

کد php:
$txt file_get_contents('readme.txt'); 

تابع file_put_contents

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

کد php:
file_put_contents($filePath $data); 

تابع file

این تابع محتویات یک فایل متنی را خوانده و خطوط فایل رو به صورت آرایه بر میگردونه.

کد php:
$fileContent file('readme.txt'); 

استفاده از توابع با پیشوند f

تعدادی از توابع بسیار کاربردی در PHP با پیشوند f معرفی شدند که برای مدیریت فایلها به کار میرن.

فایلهایی مثل :

fopen
fwrite
fread
fclose

در قسمت اول این آموزش به نحوه خواندن محتویات فایل به وسیله این توابع میپردازیم .
تابع fopen

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

کد php:
$file fopen("test.txt","r"); 

از اشاره گر $file میتونیم در توابع دیگه مانند fread استفاده کنیم.پارامتر اول مسیر فایل و پارامتر دوم نحوه دسترسی به فایل رو مشخص میکنه که در این مثال از r به معنای read (باز کردن فایل فقط برای خواندن ) استفاده شده.
تابع fclose

بعد از تمام شدن کار ما با فایل مورد نظر باید با استفاده از این تابع اتصال به فایل رو ببندیم.

کد php:
fclose($file); 

تابع fread

محتویات فایل رو به صورت رشته برگشت میده.

کد php:
fread($file,filesize("test.txt")); 

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

تابع filesize تعداد بایتهای یک فایل رو برمیگردونه که در مثال به این معنیه که تمام محتویات فایل مورد نظر با استفاده از تابع fread برگشت داده بشه.
تابع fgets

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

کد php:
echo fgets($file); 

برای خواندن همه خطوط موجود در فایل به شکل زیر عمل میکنیم :

کد php:
$file fopen("test.txt","r");
while(! 
feof($file))
 {
 echo 
fgets($file). "<br />";
 }
fclose($file); 

در هر بار اجرای حلقه با تابع feof چک میکنیم که به انتهای فایل رسیدیم یا خیر.

تابع fgetc

این تابع یک کاراکتر از فایل رو برمیگردونه


کد php:
echo fgetc($file); 

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

کد php:
$file fopen("test2.txt","r");
 
 while (! 
feof ($file))
   {
   echo 
fgetc($file);
   }
 
 
fclose($file); 

تابع fwrite

با این تابع هم میتونید داخل فایل بنویسید.

کد php:
fwrite($file "phpro.ir"); 

دقت کنید که برای استفاده از این تابع باید فایل رو با سطح دسترسی w یا +w باز کنید که اجازه نوشتن داخل فایل رو داشته باشید.

کد php:
$file fopen("test.txt","w");
echo 
fwrite($file,"Hello World. Testing!");
fclose($file); 

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


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان


Persian Translation by MyBBIran.com - Ver: 4.1
Powered by MyBB, © 2002-2024 MyBB Group.
Theme designed by Marvel (Sidebar created by Yaldaram - Yaldaram.com)
Theme Translation by Mt Edition