📂 احتراف التعامل مع الملفات في PHP: دليلك الشامل من الصفر 🚀
في هذا الدرس، سنتعرف على مهارة أساسية جداً في أي لغة برمجة، وهي التعامل مع الملفات (File Handling).
تخيل أنك تريد تخزين قائمة أسماء مستخدمين، أو حفظ سجل (Log) للأخطاء التي تحدث في موقعك؛ هنا يأتي دور التعامل مع الملفات، حيث تتيح لك PHP القدرة على إنشاء ملفات على الخادم (Server)، الكتابة داخلها، قراءتها، أو حتى حذفها.
🛠️ أولاً: فتح الملفات باستخدام fopen()
قبل أن نقوم بأي عملية (قراءة أو كتابة) على ملف، يجب أولاً أن نقوم بـ "فتحه". في PHP نستخدم دالة تسمى fopen().
هذه الدالة تأخذ معاملين (Parameters):
- اسم الملف: وهو المسار أو اسم الملف الذي تريد التعامل معه.
- الوضع (Mode): وهو يحدد ماذا تريد أن تفعل بالملف (قراءة فقط؟ كتابة فقط؟).
أشهر الأوضاع (Modes) التي سنستخدمها:
'r': للقراءة فقط (Read Only). يجب أن يكون الملف موجوداً مسبقاً.'w': للكتابة فقط (Write Only). إذا كان الملف موجوداً، سيتم مسح محتواه بالكامل. وإذا لم يكن موجوداً، سيتم إنشاؤه.'a': للإضافة (Append). يتم إضافة البيانات في نهاية الملف دون مسح المحتوى القديم.
مثال بسيط لفتح ملف:
<?php
// Opening a file for reading
$file = fopen("test.txt", "r");
// We opened the file named test.txt in read mode
?>
✍️ ثانياً: الكتابة داخل الملفات باستخدام fwrite()
بعد أن قمنا بفتح الملف بوضع الكتابة ('w' أو 'a')، يمكننا الآن إضافة النصوص إليه باستخدام دالة fwrite().
💡 ملاحظة هامة: تذكر دائماً أن وضع 'w' يمسح كل شيء قديم، بينما 'a' يحافظ على البيانات القديمة ويضيف الجديد في الأسفل.
مثال عملي على الكتابة:
<?php
// Open the file in write mode (creates it if it doesn't exist)
$myFile = fopen("hello.txt", "w");
// The text we want to write
$text = "Welcome to Codex Academy! \n";
// Writing the text to the file
fwrite($myFile, $text);
// Closing the file is very important!
fclose($myFile);
echo "File created and written successfully!";
?>
(ملاحظة: الرمز \n يستخدم للانتقال لسطر جديد داخل الملف)
📖 ثالثاً: قراءة الملفات باستخدام fread()
الآن بعد أن أنشأنا ملفاً وكبنا فيه، كيف يمكننا استرجاع هذه البيانات وعرضها على الشاشة؟ نستخدم دالة fread().
دالة fread() تحتاج إلى ثلاثة أشياء:
- مؤشر الملف: المتغير الذي نتج عن دالة
fopen. - الطول (Length): عدد الحروف التي نريد قراءتها من الملف.
مثال عملي على القراءة:
<?php
// Open the file for reading
$myFile = fopen("hello.txt", "r");
// Read the file (we tell PHP to read 100 characters)
$content = fread($myFile, 100);
// Display the content
echo "The file contains: " . $content;
// Close the file
fclose($myFile);
?>
🧹 رابعاً: إغلاق الملفات باستخدام fclose()
في كل الأمثلة السابقة، لاحظنا وجود دالة fclose(). لماذا هي مهمة؟
عندما تفتح ملفاً، فإن PHP تحجز جزءاً من ذاكرة الخادم للتعامل مع هذا الملف. إذا فتحت ملفات كثيرة دون إغلاقها، فقد يتسبب ذلك في بطء الخادم أو استهلاك الذاكرة.
القاعدة الذهبية:
فتح الملف (fopen) العمل عليه (read/write) إغلاق الملف (fclose) ✅
🗑️ خامساً: حذف الملفات باستخدام unlink()
في بعض الأحيان، قد تحتاج إلى حذف ملف من الخادم تماماً. لعمل ذلك، نستخدم دالة بسيطة جداً تسمى unlink().
مثال على حذف ملف:
<?php
$filename = "hello.txt";
// Check if the file exists before deleting it
if (file_exists($filename)) {
unlink($filename); // This deletes the file
echo "The file has been deleted successfully!";
} else {
echo "Sorry, the file does not exist.";
}
?>
📝 ملخص سريع للعمليات
| العملية | الدالة المستخدمة | الوضع (Mode) المستخدم |
|---|---|---|
| فتح ملف | fopen() |
'r', 'w', 'a' |
| كتابة نص | fwrite() |
'w' أو 'a' |
| قراءة نص | fread() |
'r' |
| إغلاق ملف | fclose() |
لا يوجد |
| حذف ملف | unlink() |
لا يوجد |
🎓 اختبر معلوماتك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال