هذه سلسلة من الدروس بعنوان "برمج بنفسك" سأبدؤها إن شاء الله ببرمجة عداد زوار بمواصفات بسيطة ثم سيتم تطوير الكود تدريجيا وبعد الانتهاء من عداد الزوار سنبدأ في دفتر زوار .... وصولا إلى برمجة منتدى.

الدرس:


فكرة البرنامج:


* سيكون لدينا ملف نصي counter.txt سنخزن فيه قيمة العداد

* صفحة counter.php سنقوم من خلالها بقراءة قيمة الملف النصي counter.txt ثم نقوم بطباعة هذه القيمة ثم سنقوم بزيادة القيمة +1 ثم نعود ونخزنها في الملف counter.txt .... بسيطة صح

خطوا ت العمل:


- أولا :قم بإنشاء مجلد مستقل للبرنامج وليكن اسمه counter


- ثانيا : قم بإنشاء ملف نصي وسمه counter.txt

- ثالثا : قم بانشاء ملف counter.php ثم قم بفتحه كي نبدأ البرمجة

الآن نحن بداخل ملف counter.php قم بنسخ الكود الآتي ثم سنقوم بشرحه:

؟>
fp=fopen $filename,"r&
result=fread ($fp,filesize $filename&
fclose $fp
fp=fopen $filename,"w&
++result&
fwrite $fp,"$result
fclose $fp
echo $result
>?
السطر الأول:

file="counter.txt&


قمنا بإعطاء المتغير $file اسم الملف counter.txt وهو الملف الذي سنخزن فيه قيم العداد ونستطيع هنا ذكر مسار هذا الملف في حال لم يكن في نفس المجلد الموجود فيه counter.php وسنشاهد هذه الحالة في مثال مقبل إن شاء الله .
السطر الثاني:

fstream=fopen $file r&


* قمنا باستخدام الدالة fopen والتي تقوم بمحاولة فتح الملف $file ، في حالة النجاح يتم فتح مجرى اتصال مع الملف Stream تخزن قيمته في المتغير $fstream وفي حال حدوث خطأ معين يتم إرجاع هذا الخطأ وسنشاهد امثلة على الأخطاء التي قد تحدث

* وكما تلاحظ قمنا باعطاء الدالة fopen شيئين : الاول : اسم الملف $file والثاني : r وهي اختصار ل read وتعني قراءة حيث أخبرنا الدالة fopen أن تقوم بفتح الملف $file بهدف القراءة
(هناك عدة حالات سنتعرف عليها لاحقا)
السطر الثالث:

$counter=fread $fstream,filesize $file


* استخدمنا هنا الدالة fread والتي تقوم بقراءة الملف $file ولكن هذه الدالة لا تتعامل مباشرة مع الملف $file بل مع مجرى الاتصال الذي قامت الدالة fopen بفتحه .
* تأخذ الدالة fread شيئين الأول : $fstream وهو مجرى الاتصال الثاني : الطول الذي ستقرؤه وهنا قمنا بإخبارها بأننا نود قراءة كامل الملف $file عن طريق filesize حيث ستقوم بقراءة جميع محتويات الملف .
* ستقوم هذه الدالة بإرجاع القيم الموجودة داخل الملف $file .
* قمنا بإعطاء القيمة الموجودة في الملف $file للمتغير $counter .

السطر الرابع:


echo ++$counter


قمنا هنا بزيادة قيمة المتغير $counter والذي أخذنا قيمته من محتويات الملف $file - بواحد حيث إن ++ تساوي:
counter=$counter+1&

وكما تلاحظ فقد وضعنا ++ قبل اسم المتغير بعنى زد على المتغير 1 ثم قم بطباعته ولو كانت ++ بعد المتغير سيطبع قيمة المتغير ثم سيزيد عليه واحد

السطر الخامس:

fclose $fstream

قمنا باستخدام الدالة fclose حيث تقوم بإغلاق مجرى الاتصال مع الملف $file

إلى هنا قمنا بقراءة محتويات الملف وزيادة واحد عليها ثم قمنا بطباعتها ... الخطوة القادمة هي تخزين القيمة الجديدة في الملف . السطر السادس:

fstream=fopen $file w&


نفس شرح السطر الثاني اللهم قمنا بفتح الملف بغرض الكتابة حيث استخدمنا w بدلا من r


السطر السابع:


fwrite $fstream,$counter


هنا قمنا باستخدام الدالة fwrite والتي تقوم بالكتابة في الملف حيث اعطيناها مجرى التصال $fstream والقيمة التي ننوي تخزينها وهي $counter


السطر الثامن والأخير:


fclose $fstream
نقره لتكبير أو تصغير الصورة ونقرتين لعرض الصورة في صفحة مستقلة بحجمها الطبيعي


قمنا بإغلاق مجرى التصال مع الملف.


نهاية الدرس