السلام عليكم
فكرة البرنامج :
* سيكون لدينا ملف نصي counter.txt سنخزن فيه قيمة العداد
* صفحة counter.php سنقوم من خلالها بقراءة قيمة الملف النصي counter.txt ثم نقوم بطباعة هذه القيمة ثم سنقوم بزيادة القيمة +1 ثم نعود ونخزنها في الملف counter.txt .... بسيطة صح
خطوات العمل :
- أولا :
قم بإنشاء مجلد مستقل للبرنامج وليكن اسمه counter
- ثانيا :
قم بإنشاء ملف نصي وسمه counter.txt
- ثالثا :
قم بانشاء ملف counter.php ثم قم بفتحه كي نبدأ البرمجة
##############################
الآن نحن بداخل ملف counter.php قم بنسخ الكود الآتي ثم سنقوم بشرحه :
كود PHP:
[شفرة]
<?
$filename="counter.txt";
$fp=fopen($filename,"r");
$result=fread($fp,filesize($filename));
fclose($fp);
$fp=fopen($filename,"w");
$result++;
fwrite($fp,"$result");
fclose($fp);
echo $result;
?>
[/شفرة]
السطر الأول :
كود 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);
?>
قمنا بإغلاق مجرى التصال مع الملف
انتهى الدرس ..