تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
هل هذا الكود جيد لتعديل نص في ملف نصي
#10
جزاكم الله خيرا اخواني واسف علي التأخير في الرد كنت اذاكر الموضوع Heart

جزاك الله خيرا اخي vbnet فعلا تنويه مهم وتم التعديل . ومعلومات قيمة جدا جدا جزاك الله خيرا

اخي الحبيب oneyemenweb2 جزاك الله خيرا ونفع بك وجعله في موازين حسناتك

بالنسبة لسجل التغير انا لا اريد عمل سجل تغير
واريد فهم بعض الامور وهي
1 - عند كتابة مسار الملف النصي في المصفح يتم عرض عنوانين البريد المخزنة به تفاديت هذه المشكلة بتشفير النص قبل رفعه
بحيث النص قبل التشفير
كود :
{ali.alfoly1@gmail.com}
{ali.alfoly2@gmail.com}
{ali.alfoly3@gmail.com}
عند تشفير النص يوجد به بعض الاحرف التي تتعارض مع طبيعة لغة البرمجة PHP مثل الرمز # فقمت بتحويل النص المشفر الي Asc
بحيث اصبح بعد التعديل الي
كود :
{80 73 82 54 103 72 122 78 113 120 78 54 69 81 114 77 56 85 97 }
{80 73 82 54 103 72 122 78 113 72 122 78 113 120 78 54 69 81 114 77 56 85 97 }
{80 73 82 54 103 120 78 54 69 81 114 77 56 85 97 }

للعلم هناك ملف خاص بعنواين البريد وملف خاص باسماء المستخدمين كل هذا من اجل ضمان عدم تكرار احدهم

2 - الكود الخاص بالارسال

كود :
Public Function Edet_Text_Email(old_email As String, new_email As String) As String
        Dim result As String = getHTTP("http://www.sh-ml.net/Edet_Text_Email.php", "old_email=" & old_email & "&new_email=" & new_email)
        Select Case result
            Case "post_error"
                Return "خطاء في الشبكة"
            Case "email_change_ok"
                Return "تم تغيير البريد بنجاح"
            Case "old_not_found"
                Return "البريد السابق غير موجود"
            Case "server_not_respous"
                Return "المخدم لا يستجيب او ان الملف غير قابل للقراءة والكتابة"
            Case "input_is_not_email"
                Return "المدخلات ليست بريد الكتروني صحيح"
            Case "input_empty"
                Return "المدخلات فارغة"
        End Select
        Return "خطاء غير معروف"
    End Function

    Friend Function getHTTP(szURL As String, szPost As String) As String
fe:
        Try
            Dim httprequest As HttpWebRequest
            Dim httpresponse As HttpWebResponse
            Dim bodyreader As StreamReader
            Dim bodytext As String = ""
            Dim responsestream As Stream
            Dim requestStream As Stream
            httprequest = DirectCast(WebRequest.Create(szURL), HttpWebRequest)
            httprequest.Method = "POST"
            httprequest.ContentType = "application/x-www-form-urlencoded"
            httprequest.ContentLength = szPost.Length
            requestStream = httprequest.GetRequestStream()
            requestStream.Write(Encoding.ASCII.GetBytes(szPost), 0, szPost.Length)
            requestStream.Close()
            httpresponse = DirectCast(httprequest.GetResponse(), HttpWebResponse)
            responsestream = httpresponse.GetResponseStream()
            bodyreader = New StreamReader(responsestream)
            bodytext = bodyreader.ReadToEnd()
            Return bodytext
        Catch
            GoTo fe
        End Try
        Return "post_error"
    End Function

انا كنت استخدم الكود
كود :
Try '- تعديل الاسم في ملف ااسماء
                Dim request As WebRequest
                request = WebRequest.Create(
                                "http://www.sh-ml.net/Edet_Text_Names.php?e=" & Me.Name_selct & "&n=" & New_Det_User.nem)
                request.GetResponse()
        Catch ex As Exception
            Me.Text_Err = "خطاء في حفظ الاسم في ملف الاسماء : اعد المحاولة"
            Return
        End Try

فكان ذلك اسهل بكثير فرجاء توضيح فائدة الكود السابق حتي اعرف الفرق

3 - كود ملف الـ PHP قمت بتعديله بحيث ازلة شرط التحقق من البريد لاني كما وضحت لحدرتك سيصبح نص ASC وليس بريد
واريد من حدرتك تعديله بحيث لا يقوم بتسجيل سجل تغيرات فقط يقوم بالتعديل وجزاك الله خيرا
كود :
<?php
$filename='/path/to/foo.txt';
$filenamelog='/path/to/log.txt';
$email_array=null;$counter_of_email=0;
if((filter_var($_POST['new_email'], FILTER_VALIDATE_EMAIL))&&(filter_var($_POST['old_email'], FILTER_VALIDATE_EMAIL))) {
          
          $email=  mysql_real_escape_string($_POST['new_email']);
        
          $old=mysql_real_escape_string($_POST['old_email']);;
      
if ((file_exists($filename))&& (is_writable ($filename )) && (is_readable ($filename )))           {
            $file = fopen($filename, "r+");
                     while(!feof($file)) {
  $email_array[$counter_of_email] =fgets($file);
  $counter_of_email++;
}
fclose($file);
if(in_array( $old, $email_array))
{
    $key = array_search($old, $email_array);
    $key--;
    $email_array[$key]=$email;
    file_put_contents($filename, "");
     $file = fopen($filename, 'w');
    foreach ($email_array as $value) {
      
fwrite($file, $value.'\n');
    }
    fclose($file);
    $da=  date("Y-m-d H:i:s");
    $fp = fopen($filenamelog, 'w');
fwrite($fp, "email is change from $old to $email at $da  \n");
fclose($fp);
echo 'email_change_ok';
}
else {
  echo 'old_not_found';
}          
}
else {
     echo 'server_not_respous';
}
          
      }
?>
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: هل هذا الكود جيد لتعديل نص في ملف نصي - بواسطة ali.alfoly - 26-04-14, 06:25 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] طلب تعديل الكود mostfa1995 0 1,764 23-04-16, 04:05 AM
آخر رد: mostfa1995
Question كيف استخدم هذا الكود ...؟ Ahmed-IT 1 2,167 05-08-15, 08:31 PM
آخر رد: oneyemenweb2
Star [سؤال] اخواني الرجاء التعديل علي هذا الكود SniperHacker 3 2,789 27-02-14, 12:38 AM
آخر رد: oneyemenweb2

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم