یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی
🎯 ثبت نام
بستن تبلیغات
دوره آموزش جامع PHP از صفر تا صد با پروژه‌های عملی

توی دوره رایگان PHP، هر چیزی که برای حرفه‌ای شدن نیاز داری رو یاد می‌گیری! از مفاهیم پایه تا پیشرفته، همراه با یه پروژه واقعی برای ساخت یه سایت مثل آپارات.

مشاهده بیشتر
دوره پروژه‌محور لاراول: ساخت وبسایت خبری از صفر تا صد

توی این دوره با هم یه وبسایت خبری واقعی رو از صفر می‌سازیم! از طراحی دیتابیس و احراز هویت تا ساخت API و یه پنل مدیریت حرفه‌ای، همه رو یاد می‌گیریم و آماده پروژه‌های واقعی میشی!

مشاهده بیشتر

آموزش بازکردن٬ خواندن و بستن فایل در PHP

آموزش بازکردن٬ خواندن و بستن فایل در PHP

در این درس قصد داریم تا نحوه بازکردن (open) ٬ خواندن (read) و بستن (close) فایل ها در PHP را آموزش دهیم.

آموزش کار با تابع fopen در PHP:

راه بهتر برای باز کردن فایل ها در PHP استفاده از تابع fopen() به جای تابع read file() است زیرا تابع fopen امکانات بیشتری را در اختیارتان قرار می دهد.
در مثال های آموزشی این درس از فایل متنی "web.text" که محتویات آن به صورت زیر است استفاده خواهیم کرد:

1
2
3
4
5
6
7
8
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
            <button></button>

پارامتر اول در تابع fopen() نام فایلی که می خواهیم آن را باز کرده و پارامتر دوم تعیین کننده متد باز کردن فایل است. در کد مثال عملی زیر٬ اقدام به باز کردن فایل متنی "web.text" کرده ایم که در آن از متد "r" به معنای بازکردن به صورت فقط خواندنی یا read-only استفاده شده است.تابع fopen() اگر نتواند فایل مورد نظر را باز کند٬ یک پیام هشدار نیز صادر خواهد کرد:

1
2
3
4
5
6
<!--?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?-->
            <button></button>

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

  • r: دراین حالت فایل به صورت فقط خواندنی (readonly) و از ابتدای آن خوانده می شود.
  • w: در این حالت فایل در حال نوشتن (write( باز می شود.اگر فایل از قبل وجود داشته باشد محتویات آن پاک شده و محتویات جدید در آن نوشته می شود.اگر هم فایل وجود نداشته باشد یک فایل جدید ایجاد می شود.در این متد هم اشاره گر از ابتدای فایل شروع می کند.
  • a: در این حالت نیز فایل برای نوشتن (write( باز شده با این تفاوت که محتویات قبلی فایل حفظ شده و محتویات جدید به انتهای آن اضافه می شود.درواقع اشاره گر از انتهای فایل شروع کرده و در صورت موجودنبودن فایل ٬ یک فایل جدید اضافه خواهد شد.
  • x: این حالت یک فایل جدید را جهت نوشتن (write( باز می کند.درصورتی که فایل مورد نظر از قبل وجود داشته error داده و مقدار FALSE را بر می گرداند.
  • r+: در این حالت برنامه فایل را جهت خواندن و نوشتن (read/write( باز می کند. اشاره گر در ابتدای فایل قرار خواهد گرفت.
  • w+: در این حالت برنامه فایل را برای خواندن و نوشتن (read/wife( باز کرده و در صورتی که فایل موجود باشد محتویات آن را پاک نموده و در صورت عدم وجود فایل ٬ یک نمونه جدید ایجاد می کند. در این حالت نیز اشاره گر از ابتدای فایل شروع می کند.
  • a: در این حالت نیز فایل برای خواندن و نوشتن (read/write( باز شده و محتویات قبلی آن حفظ شده و محتویات جدید به انتهای فایل اضافه می شود. اشاره گر از انتهای فایل شروع خواهد کرد.
  • x : در این حالت یک فایل جدید برای خواندن و نوشتن (read/write( باز شده و در صورت وجود داشتن فایل یک error رخ داده و مقدار FALSE بر می گرداند.

آموزش کار با فایل fread() در PHP:

تابعfread() محتویات یک فایل باز را می خواند.
پارامتر اول در تابع dread() نام فایل جهت خواندن و پارامتر دوم تعداد بایت هایی که بایستی از فایل خوانده شود را مشخص می کند.
کد مثال عملی زیر کلیه محتویات فایل "webdictionary.text" را تا انتها می خواند.توجه داشته باشید اگر مقداری برای پارامتر دوم تعیین نشود٬ برنامه به صورت پیش فرض کل فایل را می خواند.

1
2
fread($myfile,filesize("webdictionary.txt"));
            <button></button>

آموزش کار با تابع fclose() در PHP:

تابع fclose() جهت بستن یک فایل open به کار می رود.

راهنمایی:

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

تابع fclose() دارای یک پارامتر متنی بوده که نام فایل مورد نظر جهت بستن را تعیین می کند. به وسیله کد مثال عملی زیر فایل باز شده "web dictionary.txt" را می بندیم:

1
2
3
4
5
6
<!--?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?-->
            <button></button>

آموزش کار با تابع fgets() در PHP - خواندن یک خط از فایل:

از تابع fgets() برای خواندن یک خط از فایل مورد نظر استفاده می شود.
در کد مثال عملی زیر با استفاده از تابع fgets() اولین خط از فایل "webdictionary.txt را خوانده و در خروجی نمایش داده ایم:

1
2
3
4
5
6
<!--?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?-->
            <button></button>
نکته:

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

آموزش چک کردن انتهای فایل در PHP با تابع feof():

تابع feof() چک می کند آیا برنامه به انتهای فایل end-of-life یا EOF رسیده یا خیر. تابع feof() معمولا برای جستجو در دیتایی که طول آن را نمی دانیم مناسب است.
در کد مثال عملی زیر٬ محتویات فایل را به صورت خط به خط خوانده و نمایش داده ایم تا به انتهای فایل برسیم:

1
2
3
4
5
6
7
8
9
<!--?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);
?>
            <button></button>

آموزش خواندن یک کاراکتر در فایل PHP با fgetc():

از تابع fgetc() در PHP برای خواندن یک کاراکتر تنها در فایل استفاده می شود. در کد مثال عملی زیر٬ محتویات فایل " web dictionary.text" را به صورت کاراکتر به کاراکتر خوانده و در خروجی نمایش داده ایم تا به انتهای فایل برسیم:

1
2
3
4
5
6
7
8
9
<!--?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);
?-->
            <button></button>
نکته:

پس از خواندن یک کاراکتر توسط fgetc() در فایل٬ اشاره گر به ابتدای کاراکتر بعدی خواهد رفت.

1395/10/03 16005 2739
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...