شرح كتابة وإنشاء الملفات في PHP
بعد تعلم قراءة الملفات، ننتقل الآن إلى الخطوة التالية: كتابة الملفات في PHP. هذه المهارة مفيدة جداً لحفظ السجلات (Logs)، الإعدادات، أو أي بيانات نصية بسيطة.
في هذا الدرس ستتعلم كيف تنشئ ملفاً جديداً أو تضيف بيانات إلى ملف موجود بشكل عملي.
كيف تكتب داخل ملف في PHP؟
الفكرة الأساسية تتكون من 3 خطوات:
- فتح الملف عبر
fopen(). - كتابة المحتوى عبر
fwrite(). - إغلاق الملف عبر
fclose().
مثال 1: الكتابة بالوضع w (استبدال المحتوى)
الكود:
<?php
$myfile = fopen("newfile.txt", "w") or die("غير قادر على فتح الملف");
$txt = "مرحباً بك في ديف عربي\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
شرح كود PHP:
"w"يفتح الملف للكتابة ويُفرغ المحتوى القديم.- إذا لم يكن الملف موجوداً، يتم إنشاؤه (حسب الصلاحيات).
\nيضيف سطراً جديداً في نهاية النص.
مثال 2: الإضافة بالوضع a (Append)
الكود:
<?php
$myfile = fopen("logs.txt", "a") or die("غير قادر على فتح الملف");
$log = "تم تسجيل دخول مستخدم جديد في " . date("Y-m-d H:i:s") . "\n";
fwrite($myfile, $log);
fclose($myfile);
?>
شرح كود PHP:
"a"لا يحذف المحتوى القديم، بل يضيف الجديد في النهاية.- مفيد جداً لملفات السجل (Logs).
متى أستخدم w ومتى أستخدم a؟
| الوضع | السلوك | أفضل استخدام |
|---|---|---|
w |
يمسح القديم ويكتب من جديد | تحديث ملف إعدادات كامل |
a |
يحافظ على القديم ويضيف في النهاية | تسجيل الأحداث في Logs |
أفضل ممارسات عند كتابة الملفات
- تحقق من نجاح
fopen()قبل الكتابة. - أغلق الملف دائماً عبر
fclose(). - لا تكتب في ملفات حساسة بدون صلاحيات مناسبة.
- عند بيانات المستخدم، نظّف المحتوى قبل حفظه.
تنبيه: إذا ظهر خطأ
Permission Denied فالمشكلة غالباً في صلاحيات المجلد أو الملف.
أخطاء شائعة للمبتدئين
- استخدام
wبالخطأ وفقدان المحتوى السابق. - نسيان إغلاق الملف بعد الكتابة.
- عدم معالجة فشل فتح الملف.
- الكتابة في مسار غير صحيح.
تمرين تطبيقي سريع
- أنشئ ملفاً باسم
notes.txtواكتب فيه جملة عبر الوضعw. - أضف سطرين جديدين إلى نفس الملف باستخدام الوضع
a. - اقرأ الملف لاحقاً (من الدرس السابق) وتأكد من النتيجة.
الأسئلة الشائعة — FAQ
كيف أكتب داخل ملف في PHP؟
افتح الملف بـ fopen()، اكتب بـ fwrite()، ثم أغلقه بـ fclose().
ما الفرق بين w وa؟
w يمسح القديم، وa يضيف الجديد في نهاية الملف.
هل يتم إنشاء الملف تلقائياً؟
نعم في وضعي w وa إذا كانت الصلاحيات متاحة.
ما سبب Permission Denied؟
يعني أن الخادم لا يملك صلاحية الكتابة في المسار المحدد.
ممتاز! الآن أصبحت قادراً على إنشاء وكتابة الملفات في PHP بطريقة صحيحة. في الدرس القادم سنتعلم
رفع الملفات (File Upload).