24-04-14, 06:24 PM
(11-04-14, 03:31 AM)ali.alfoly كتب : السلام عليكم
هل هذا الكود جيد ام ان هناك افضل
انا الي كاتبه ومليش خبرة في php
كود :
<?php
$deml = $_GET['e'];
$neml = $_GET['n'];
$logfile= 'Text_Emails_Users.txt';
$data = file_get_contents($logfile);
$newdata = str_replace($deml, $neml, $data);
file_put_contents($logfile, $newdata);
?>
(24-04-14, 01:04 PM)ali.alfoly كتب : كان نفسي فعلا اتعامل مع قواعد البينات mysql بس للاسف مالي اي خبرة في ذلك
مؤقتا قمت بعمل كل بيناتي داخل ملفات
لغة PHP سهلة جداً فهي مشابهة إلى حد ما لـ JAVA وC
ولغة MySql مشابهة إلى حد كبير لـ SQLServer
ال GET_$ يقرأ المعطيات التي أرسلت بأسلوب GET (أي ظاهرة في العنوان HTTP)، في حين يستخدم POST_$ لقراءة المعطيات مع الأسلوب POST.
ال ( file_get_contents ) هي دالة تقرأ محتوى من ملف.
ال ( file_put_contents ) هي دالة تكتب محتوى في ملف.
ال ( str_replace ) هي دالة تستبدل نص بآخر في محتوى نصي.
أعلم أنكم تعرفون كل هذا.
هناك مشكلة ستحصل في الكود السابق:
المشكلة في حالة أنك تريد تغيير الإيميل abc@mail.com ويوجد إيميل يزيد في البداية أو النهاية بأي أحرف
هنا سيتم تغيير أيضا الأجزاء المطابقة في الإيميلات التالية
xxabc@mail.com
abc@mail.com.eg
xxabc@mail.com.eg
إذا... لابد من وجود رموز تميز بداية ونهاية الإيميل بشكل صحيح مثل ; أو : أو أقواس وما شابه مما لا يمكن وجودة في الإيميل وذلك في داخل الملف
هنا مثال لحل هذه المشكلة في الكود السابق في حال استخدام الأقواس { } لتحديد الإيميل في داخل الملف
كود :
$newdata = str_replace( "{".$deml."}" , "{".$neml."}" , $data );


