السلام عليكم
سنبدأ ببرمجة سكريبت عداد الزوار بأبسط أشكاله ثم سنقوم بتطويره وتحسينه تدريجيا .
سنحتاج لتنفيذ هذا الدرس إلى :
- إنشاء مجلد اسمه counter
- إنشاء ملف اسمه counter.php
- إنشاء ملف اسمه counter.txt
* قم بنسخ الكود الآتي ثم سنقوم بشرحه :
السطر الأول :كود PHP:<?
$file="counter.txt";
$fstream=fopen($file,"r");
$counter=fread($fstream,filesize($file));
echo ++$counter;
fclose($fstream);
$fstream=fopen($file,"w");
fwrite($fstream,$counter);
fclose($fstream);
?>
* قمنا بإعطاء المتغير $file اسم الملف counter.txt وهو الملف الذي سنخزن فيه قيم العدادكود PHP:$file="counter.txt";
ونستطيع هنا ذكر مسار هذا الملف في حال لم يكن في نفس المجلد الموجود فيه counter.php
وسنشاهد هذه الحالة في مثال مقبل إن شاء الله .
السطر الثاني :
* قمنا باستخدام الدالة fopen والتي تقوم بمحاولة فتح الملف $file ، في حالة النجاح يتم فتح مجرى اتصالكود PHP:$fstream=fopen($file,"r");
مع الملف Stream تخزن قيمته في المتغير $fstream وفي حال حدوث خطأ معين يتم إرجاع هذا الخطأ
وسنشاهد امثلة على الأخطاء التي قد تحدث .
* وكما تلاحظ قمنا باعطاء الدالة fopen شيئين : الاول : اسم الملف $file والثاني : r وهي اختصار ل read
وتعني قراءة حيث أخبرنا الدالة fopen أن تقوم بفتح الملف $file بهدف القراءة
(هناك عدة حالات سنتعرف عليها لاحقا)
السطر الثالث :
* استخدمنا هنا الدالة fread والتي تقوم بقراءة الملف $file ولكن هذه الدالة لا تتعامل مباشرة مع الملف $file بل مع مجرى الاتصالكود PHP:$counter=fread($fstream,filesize($file));
الذي قامت الدالة fopen بفتحه .
* تأخذ الدالة fread شيئين الأول : $fstream وهو مجرى الاتصال الثاني : الطول الذي ستقرؤه وهنا قمنا بإخبارها بأننا نود قراءة كامل الملف $file
عن طريق filesize حيث ستقوم بقراءة جميع محتويات الملف .
* ستقوم هذه الدالة بإرجاع القيم الموجودة داخل الملف $file .
* قمنا بإعطاء القيمة الموجودة في الملف $file للمتغير $counter .
السطر الرابع :
قمنا هنا بزيادة قيمة المتغير $counter - والذي أخذنا قيمته من محتويات الملف $file - بواحدكود PHP:echo ++$counter;
حيث إن
++ تساوي :
وكما تلاحظ فقد وضعنا ++ قبل اسم المتغير بعنى زد على المتغير 1 ثم قم بطباعته ولو كانت ++ بعد المتغير سيطبع قيمة المتغير ثم سيزيد عليه واحدكود PHP:$counter=$counter+1;
السطر الخامس :
قمنا باستخدام الدالة fclose حيث تقوم بإغلاق مجرى الاتصال مع الملف $fileكود PHP:fclose($fstream);
إلى هنا قمنا بقراءة محتويات الملف وزيادة واحد عليها ثم قمنا بطباعتها ... الخطوة القادمة هي تخزين القيمة الجديدة في الملف .
السطر السادس :
نفس شرح السطر الثاني اللهم قمنا بفتح الملف بغرض الكتابة حيث استخدمنا w بدلا من rكود PHP:$fstream=fopen($file,"w");
السطر السابع :
هنا قمنا باستخدام الدالة fwrite والتي تقوم بالكتابة في الملف حيث اعطيناها مجرى التصال $fstream والقيمة التي ننوي تخزينها وهي $counterكود PHP:fwrite($fstream,$counter);
السطر الثامن والأخير :
قمنا بإغلاق مجرى التصال مع الملفكود PHP:fclose($fstream);
بسيطة صح ؟
ملاحظة : حاولت استخدام اكثر الطرق سهولة وبدائية لأن هدفنا هو تطوير البرنامج .
ارجو من الاخوة الذين لديهم اسئلة طرحها بدون تردد كذلك أرجو من الاخوة ابداء ملاحظاتهم لتطوير السكريبت



