السلام عليكم ..
عندما لا يكون لدينا قاعدة بيانات، يجب أن نستخدم ملفات txt عادية لحفظ المعلومات .. في الـ PHP، إنشاء أو قراءة معلومات من ملف، أمر سهل! .. يوجد عدد من الدوال - سنقوم بدراستها اليوم - تساعدنا على عمل ذلك ..
سنقوم بإنشاء سكربت بسيط، يحفظ (الاسم) والـ (بريد) لمستخدمين، ومن ثم نقوم بعرضها ..
----------
1- الدالة fopen()
الدالة الأساسية هي fopen()، وهي التي تسمح بفتح ملف؛ للقراءة، أو لإنشاءه إن لم يكن موجوداً، أو للكتابة .. وتستخدم بهذا الشكل تقريباً:
كود:
fopen("File name & extention","mode");
File name & extention = اسم الملف والمراد الكتابة فيه وامتداده ..
mode = الطور ..
** جدول الأطوار المتاحة **
r = فتح وقراءة فقط ..
w = فتح وكتابة فقط (الدالة تقوم بإنشاء الملف إن لم يكن موجوداً) ..
a = فتح وقراءة فقط مع إضافة المحتويات في نهاية الملف (الدالة تقوم بإنشاء الملف إن لم يكن موجوداً) ..
r+ = فتح للقراءة والكتابة ..
w+ = فتح للقراءة والكتابة (الدالة تقوم بإنشاء الملف إن لم يكن موجوداً) ..
a+ = فتح للقراءة والكتابة مع إضافة المحتويات في نهاية الملف (الدالة تقوم بإنشاء الملف إن لم يكن موجوداً) ..
أمثلة:
كود:
$fp = fopen("../file.txt","r"); //قراءة
$fp = fopen("ftp://swalif.net/pub/file.txt","w"); // كتابة في بداية الملف
$fp = fopen("http://swalif.net/file.txt","a"); // كتابة في نهاية الملف
الدالة fopen إذن تسمح بفتح ملفات على الويب ..
للمزيد من المعلومات عن fopen() راجع:
http://www.php.net/manual/function.fopen.php
----------
2- إنشاء (أو تحديث) ملف
قبل كل شيء، يجب وضع معلومات في ملف .. يجب إذن فتح ملف للكتابة وإنشاءه إن لم يكن موجوداً .. إذن لدينا الاختيار بين طور "w" وطور "a"، ولكن نفضل الثانية، لأنها تبدأ بالكتابة في آخر الملف، بمعنى آخر؛ تتم كتابة المعلومات بعد المعلومات المكتوبة سابقاً في الملف ..
ملاحظة: شيء جيد التأكد من ان الملف تم فتحه بنجاح.
كود:
if($fp = fopen("file.txt","a")){ /* فتح ملف بطور الكتابة */
fputs($fp, "\n"); // نذهب للسطر
fputs($fp, "$name|$email"); // كتابة الاسم والبريد في الملف
fclose($fp);
}else{ // في حالة فشل فتح الملف يتم عرض ما يلي:
echo "لا يمكن فتح الملف";
exit();
}
الدالة fputs() تسمح بالكتابة في ملف .. وهي مرادفة للدالة fwrite()،أي أن لهما نفس العمل بالضبط !
وتستخدم بالشكل التالي:
fputs(...);
----------
3- قراءة من ملف
يمكنك قراءة المعلومات الموجودة في الملف بفتحها بطور القراءة:
كود:
if (file_exists($file))
$fp = fopen("file.txt", "r"); // الملف موجود .. نفتحه
else{ // الملف غير موجود
echo "الملف غير موجود.";
exit();
}
while (!feof($fp)){ // نتجاوز الملف
$line = fgets($fp,4096); // نقف في سطر
$liste = explode("|",$line); // الحقول مفصولة بـ |، نعمل جدول
$name = $liste[0];
$email = $liste[1];
echo "Name: $name email: $email<br>";
}
fclose($fp); // نغلق الملف
نستخدم الدالة fgets() لاسترجاع المعلومات الخاصة بالملف، واحدة واحدة ..
الدالة feof() تسمح لنا بفحص إذا لم نصل إلى نهاية الملف ..
ملاحظة:
يمكنك وضع الكم الذي تريده من المعلومات، ولكن يجب فصلها بـ |، للبدأ وللنهاية وبين المعلومات ..
----------
4- المختصرالمفيد
السكربت يمكن تجربته هنا:
http://isam.siham.net/scripts/script.php
ويمكن مشاهدة الشفرة مع بعض التعليقات من هنا:
http://isam.siham.net/scripts/script.phps
إذا ادرت تشغيل السكربت على موقعك، يجب إنشاء ملف باسم file.txt، وتجعل له الترخيص: 666 ..
ملاحظة: قمت بترمجة ( جـزء ) من هذا الدرس من موقع ..
**********
PHP === الدرس الأول!:
http://www.swalif.net/softs/showthre...threadid=18462
PHP === الدرس الثاني (المتغيرات بشكل مبسط)
http://www.swalif.net/softs/showthre...threadid=18542
**********
يتبع الدرس الرابع؛
استخدام الدالة mail() ..