به نهمین جلسه از آموزش برنامه نویسی PHP خوش آمدید. در این جلسه با مبحث کار با فایل ها در PHP آشنا خواهیم شد.
کار با فایل ها در PHP – بخش اول
از آنجا که مباحث مورد نظر برای آموزش کار با فایل ها در PHP مفصل بوده و تصمیم داریم که آنها را به طور کامل آموزش دهیم، لذا این آموزش را به دو بخش تقسیم کرده ایم. بخش اول را در این جلسه و بخش بعدی را در جلسه آینده مطرح خواهیم کرد.
مباحث این جلسه به شرح زیر است:
- ساخت دایرکتوری (فولدر) جدید
- ساخت فایل جدید در مسیر دلخواه
- بررسی وجود یک فایل در مسیر دلخواه
- به دست آوردن حجم (سایز) فایل
- تغییر نام فایل (rename)
- جابجایی مکان فایل (cut)
- کپی کردن فایل (copy)
- حذف فایل و فولدر
- به دست آوردن آدرس مسیر جاری
- باز و بسته کردن فایل
- نوشتن اطلاعات در فایل
- اضافه کردن اطلاعات به انتهای فایل
- و … (مباحث بعدی را در جلسه آینده مطرح خواهیم کرد)
کار با فایل ها در PHP
ساخت دایرکتوری (فولدر) در PHP
جهت ساخت دایرکتوری یا فولدر جدید در PHP از تابع ()mkdir استفاده می کنیم. این تابع نام و مسیر فولدر مورد نظر را دریافت کرده و آن را ایجاد می کند.
1 2 3 4 5 |
<?php mkdir('new folder'); ?> |
ساخت فایل در PHP
جهت ساخت فایل در PHP از تابع ()touch استفاده می کنیم. این تابع نام و مسیر فایل مورد نظر را دریافت کرده و آن را ایجاد می کند.
1 2 3 4 5 |
<?php touch('newfolder/newfile.txt'); ?> |
بررسی وجود یک فایل در مسیر دلخواه
چنانچه بخواهیم بدانیم که یک فایل خاص در مسیر مورد نظر ما وجود دارد یا خیر، از تابع ()file_exists استفاده می کنیم. این تابع نام و مسیر فایل مورد نظر را دریافت کرده و نتیجه را بصورت false | true بر می گرداند.
1 2 3 4 5 |
<?php echo file_exists('newfolder/newfile.txt'); ?> |
به دست آوردن حجم (سایز) فایل در PHP
برای به دست آوردن حجم (سایز) فایل در PHP از تابع ()filesize استفاده می کنیم. این تابع نام و مسیر فایل مورد نظر را دریافت کرده و نتیجه را به صورت یک عدد صحیح و بر حسب بایت بر می گرداند.
1 2 3 4 5 |
<?php echo filesize('newfolder/newfile.txt') . " B"; ?> |
rename کردن فایل در PHP
جهت تغییر نام و یا rename کردن فایل در PHP از تابع ()rename استفاده می کنیم. این تابع نام های قدیم و جدید فایل مورد نظر را دریافت کرده و فایل را تغییر نام می دهد.
1 2 3 4 5 |
<?php rename('newfolder/newfile.txt', 'newfolder/newfile1.txt'); ?> |
cut کردن فایل در PHP
جهت تغییر مکان و یا cut کردن فایل در PHP نیز از همان تابع ()rename استفاده می کنیم. به این صورت که در پارامتر دوم، مسیر جدیدی را برای فایل مورد نظر مشخص می کنیم. به این صورت عمل cut کردن فایل در PHP صورت گرفته و فایل مورد نظر به مکان ذکر شده تغییر مکان پیدا می کند.
1 2 3 4 5 |
<?php rename('newfolder/newfile.txt', 'newfolder2/newfile.txt'); ?> |
کپی کردن فایل در PHP
جهت کپی کردن فایل در PHP از تابع ()copy استفاده می کنیم. این تابع مسیرهای قدیم و جدید فایل مورد نظر را دریافت کرده و فایل را در مسیر مشخص شده کپی می کند.
1 2 3 4 5 |
<?php copy('newfolder/newfile.txt', 'newfolder2/newfile.txt'); ?> |
حذف کردن فایل در PHP
جهت حذف کردن فایل در PHP از تابع ()unlink استفاده می کنیم. این تابع نام و مسیر فایل مورد نظر را دریافت کرده و آن را را حذف می کند.
1 2 3 4 5 |
<?php unlink('newfolder/newfile.txt'); ?> |
حذف کردن فولدر در PHP
جهت حذف کردن فولدر در PHP از تابع ()rmdir استفاده می کنیم. این تابع نام و مسیر فولدر مورد نظر را دریافت کرده و آن را را حذف می کند.
1 2 3 4 5 |
<?php rmdir('newfolder'); ?> |
به دست آوردن آدرس مسیر جاری در PHP
جهت به دست آوردن آدرس مسیر جاری در PHP از تابع ()getcwd استفاده می کنیم. این تابع مسیر جاری (محل قرارگیری فایل php) که در آن قرار داریم را بر می گرداند.
1 2 3 4 5 |
<?php echo getcwd(); ?> |
باز کردن فایل در PHP
قبل از انجام هرگونه پردازشی بر روی فایل (خواندن و نوشتن)، می بایست فایل را باز کنیم. جهت باز کردن فایل در PHP از تابع ()fopen استفاده می کنیم. این تابع دو پارامتر دارد. پارامتر اول نام و مسیر فایل مورد نظر و پارامتر دوم عبارتی است که منظور ما را از باز کردن فایل مشخص می کند (mode). پارامتر mode مقادیر زیر را می تواند بپذیرد: +r | r+ | w | w+ | a | a+ | x | x+ | c | c . در این جلسه و جلسه آینده با برخی از مهمترین و پرکاربردترین آنها آشنا خواهیم شد.
1 2 3 4 5 |
<?php $my_file = fopen('newfile.txt', 'w'); ?> |
در قطعه کد فوق از عبارت ‘w’ استفاده شده است. این پارامتر مشخص می کند که منظور ما از باز کردن فایل این است که می خواهیم اطلاعاتی را درون آن بنویسیم (write). مقدار برگشتی تابع ()fopen را می بایست درون متغیری ذخیره کنیم تا پس از آن بتوانیم به فایل دسترسی داشته و اعمال خواندن و نوشتن را بر روی آن انجام دهیم (متغیر my_file).
بستن فایل در PHP
پس از اتمام هرگونه پردازشی بر روی فایل (خواندن و نوشتن)، می بایست فایل را ببندیم. جهت بستن فایل در PHP از تابع ()fclose استفاده می کنیم. این تابع همان متغیر (اشاره گری) را که در زمان باز کردن فایل تعریف کرده ایم (my_file)، دریافت کرده و فایل مورد نظر را می بندد.
1 2 3 4 5 |
<?php fclose($my_file); ?> |
نوشتن اطلاعات در فایل
جهت نوشتن اطلاعات در فایل از تابع ()fwrite استفاده می کنیم. این تابع اشاره گر فایل (my_file) و متن مورد نظر را دریافت کرده و عمل نوشتن اطلاعات در فایل را انجام می دهد. مراحل سه گانه کار با فایل را در قطعه کد زیر می بینید. ۱. بازکردن فایل ۲. پردازش فایل (خواندن/نوشتن) ۳. بستن فایل
1 2 3 4 5 6 7 8 9 |
<?php $my_file = fopen('newfile.txt', 'w'); fwrite($my_file, "hello john, how are you?"); fclose($my_file); ?> |
اضافه کردن اطلاعات به انتهای فایل
جهت اضافه کردن اطلاعات به انتهای فایل در PHP کافیست تا در تابع ()fwrite از حالت ‘a’ استفاده می کنیم. قطعه کد زیر عبارت test را به انتهای فایل مورد نظر اضافه می کند.
1 2 3 4 5 6 7 8 9 |
<?php $my_file = fopen('newfile.txt', 'a'); fwrite($my_file, "test"); fclose($my_file); ?> |
برای دریافت اطلاعات و جزئیات بیشتر در مورد کار با فایل ها در PHP به ویدئوی ضمیمه آموزش مراجعه فرمایید.
به پایان این جلسه آموزشی رسیدیم. در آینده با بخشهای دیگری از زبان PHP آشنا خواهیم شد. با ما همراه باشید…
6 دیدگاه. ارسال دیدگاه جدید
تشکر از شما
یه مشکلی داشنم که از صبح من داشتم کد میزدم ولی با سایت شما مشکلم برطرف شد
بسیار بسیار عالی و آموزنده
کاملا مفهومی
سلام وقتتون بخیر
من با یه مشکل مواجه شدم خواهش میکنم یه راهنمایی کنید من رو
من با php کار میکنم. الان میخوام روی یه عکس واترمارک ایجاد کنم (نوشته فارسی) با لایبرری WideImage ولی مشکل اینجاست که حروف فارسی رو به صورت تکه تکه میاره. مثلا (سلام رو مینویسه م ا ل س). چیکار باید انجام بدم تا فارسی رو درست بنویسه؟ در ضمن من دارم این کار رو توی بات تلگرام انجام میدم.
با تشکر فراوان
دوست عزیز متاسفانه بنده با این کتابخونه کار نکردم و اطلاعی در این زمینه ندارم.
از دیگر دوستان اگر کسی اطلاعاتی در این زمینه داره، لطفا دوستمون رو راهنمایی کنه.
سلام مهندس خوبید؟
ببخشید یه درخواست داشتم می شه یه سری مساله هم طرح کنید که اونارو پیاده سازی کنیم؟
برای آشنایی بیشتر با برنامهنویسی مثلا برنامههای ریاضیاتی
ممنون از زحماتتون
دوست عزیز تقریبا همه مسائل محاسباتی که در زبانهای دیگه مثل ++c قابل کدنویسی هست، در php هم قابل پیادهسازیه.
برای مثال من چند نمونه از اونها رو بیان میکنم:
– پیدا کردن min و max چند عدد
– محاسبه حاصلجمع اعداد متوالی (… + ۳ + ۲ + ۱)
– محاسبه فاکتوریل یک عدد (۲۴ = ۱ * ۲ * ۳ * ۴ = !۴)
– محاسبه دنباله فیبوناچی (… , ۱۳ , ۸ , ۵ , ۳ , ۲ , ۱ , ۱)
– پیادهسازی الگوریتمهای جستجو مثل جستجوی ترتیبی و جستجوی باینری
– پیادهسازی الگوریتمهای مرتبسازی مثل مرتبسازی حبابی، مرتبسازی ادغامی، مرتبسازی سریع و …
– و بسیاری از الگوریتمها و برنامههای دیگر