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