التعامل مع الملفات والمجلدات
كل مبرمج يجب أن يتعامل مع الملفات والمجلدات في بعض النقاط ، برنامجك سوف يستخدم الملفات لكي يقوم بتخزين معلومات الإعداد للسكربت ، أو يقوم بتخزين البيانات لقراءتها وكتابتها ، أو لكي يقوم بحفظ البيانات المؤقتة ، وكمثال فإن أتفه برنامج عداد يحتاج إلي ملف يقوم بتخزين آخر رقم تم الوصول إليه ..

الملف : ليس عبارة عن أكثر من بايتات متسلسلة يتم تخزينها على القرص الصلب أو أي ماده تخزينية أخرى .
والمجلد : هو عبارة عن نوع محدد من الملفات يحتفظ بأسماء ملفات أخري ومجلدات أخري ( تسمي بالمجلدات الفرعية ) ، كل ما تحتاجه لتتعامل مع الملفات والمجلدات هو كيف يمكنك ربط سكربتك بهم ..

هذا الدرس سيأخذك إلي جولة لتعلم التعامل مع الملفات والمجلدات وفي نفس الوقت يوفر لك مرجعية لبعض الدوال التي تساعدك في ذلك مما يجعل مهمتك أسهل ...

سيقوم هذا الدرس بتغطيه المواضيع التالية :

1 فتح وإغلاق الملف .
2 القراءة من الملف والكتابة إليه .
3 مسح وإعادة تسمية الملفات
4 استعراض وتجول في الملف .
5 فتح وإغلاق المجلدات .
6 نسح وإعادة تسميه المجلدات .


ملاحظة :
قبل أن نبدأ دعنا ننبهك أن التعامل مع الملفات يختلف من نظام تشغيل إلي آخر ففي أنظمة اليونكس تستخدم المسارات العلامة المائلة للأمام
مثال
/home/usr/bin/data.txt
بينما في الويندوز فإن المسار يكون كالتالى
C:\usr\bin\perl
وإذا استخدمنا العلامة الأمامية في PHP للويندوز فإنه يقوم بتحويلها بشكل تلقائي إلي علامة خلفية بينما إذا أردنا استخدام العلامة الأمامية فإننا يجب أن نقوم بتكرار العلامة لكي يتم التعرف عليها
C:\\windows\\PHP


التعامل مع الملفات
يوفر الـPHP نوعين من الدوال المتعلقة بالملفات فهناك نوع من الدوال يستخدم مقبض للملف (file handle) أو ما يسمونه بالمؤشر (pointer) في العادة ، بينما بعض الدوال يستخدم قيمه حرفيه تشير إلي موضع الملف مباشره ...

مقبض الملف ليس أكثر من عدد صحيح (integer) يقوم بتعريف الملف المراد فتحه حتي يتم إغلاقه ، إذا كان هناك أكثر من ملف مفتوح فان لكل ملف مقبضه التعريفي الخاص به ، وبالطبع فإنه لا يتوجب عليك معرفه هذا الرقم ....

على سبيل المثال فإن الدالة fwrite() تقوم بفتح الملف لكتابة بيانات إليه وهي تستخدم مقبض لكي تقوم بالتعرف إلي الملف وفتحه ..
Fwrite ($fp,’Hello World’);
بينما الدالة file() التي تستخدم للقراءة من الملف تقوم باستخدام قيمة نصية تقوم بالإشارة إلى مكان الملف بشكل مباشر لكي يتم التعامل معه ..

لا تصب بالرعب والخوف من هذا الكلام فأنا أعلم أنه قد يكون غامضاً عليك .. تنفس الصعداء وجهز لنفسك كأساً من الشاي لأننا سنبدأ في الجد الآن ....

ملاحظة : ستجد أن اغلب الدوال أو معظمها أو كلها تقريبا تقوم بإرجاع القيمة True إذا تمت بنجاح والقيمة False إذا فشلت في الحصول على هدفها ..
لنبدأ الآن مع سكربتات مبسطة للعمل مع الملفات ..