شرح كتابة وإنشاء الملفات في PHP

بعد تعلم قراءة الملفات، ننتقل الآن إلى الخطوة التالية: كتابة الملفات في PHP. هذه المهارة مفيدة جداً لحفظ السجلات (Logs)، الإعدادات، أو أي بيانات نصية بسيطة.

في هذا الدرس ستتعلم كيف تنشئ ملفاً جديداً أو تضيف بيانات إلى ملف موجود بشكل عملي.

كيف تكتب داخل ملف في PHP؟

الفكرة الأساسية تتكون من 3 خطوات:

  1. فتح الملف عبر fopen().
  2. كتابة المحتوى عبر fwrite().
  3. إغلاق الملف عبر 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 بالخطأ وفقدان المحتوى السابق.
  • نسيان إغلاق الملف بعد الكتابة.
  • عدم معالجة فشل فتح الملف.
  • الكتابة في مسار غير صحيح.

تمرين تطبيقي سريع

  1. أنشئ ملفاً باسم notes.txt واكتب فيه جملة عبر الوضع w.
  2. أضف سطرين جديدين إلى نفس الملف باستخدام الوضع a.
  3. اقرأ الملف لاحقاً (من الدرس السابق) وتأكد من النتيجة.

الأسئلة الشائعة — FAQ

كيف أكتب داخل ملف في PHP؟

افتح الملف بـ fopen()، اكتب بـ fwrite()، ثم أغلقه بـ fclose().

ما الفرق بين w وa؟

w يمسح القديم، وa يضيف الجديد في نهاية الملف.

هل يتم إنشاء الملف تلقائياً؟

نعم في وضعي w وa إذا كانت الصلاحيات متاحة.

ما سبب Permission Denied؟

يعني أن الخادم لا يملك صلاحية الكتابة في المسار المحدد.

ممتاز! الآن أصبحت قادراً على إنشاء وكتابة الملفات في PHP بطريقة صحيحة. في الدرس القادم سنتعلم رفع الملفات (File Upload).
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن