النتائج 1 إلى 14 من 14

الموضوع: فرز كل 1000 بملف منفصل

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    213

    فرز كل 1000 بملف منفصل



    السلام عليكم يا شباب

    لو عندي مثلا ملف txt يحتوي على 100 الف ايميل بالشكل التالي :

    test1@test.com
    test2@test.com
    test3@test.com

    واردت ان اقوم بصفنع سكربت بيقوم بتقسم هذا الفايل الى عدة فايلات يحتوي كل منها على 1000 ايميل فقط

    ما هي اسرع وأسلم طريقه ؟







  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2008
    المشاركات
    555


    استخدم دالة explode بفصل الايميلات ومن ثم foreach وداخلها while ال while داخلها انشاء الملف وتكرارها 1000





    __________________
    مدونتي قريبا

    بيع ar-ci.com

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    213


    سيد exchangeboss
    شكرا على مرورك
    بس لما بستخدم دالة explode
    ايش رح يكون الفاصل بين كل ايميل والثاني ؟؟






  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    "\n"






  5. #5


    بعد اذن صاحب الموضوع
    طيب لو انا عايز قائمة الايميلات دى فى سطر واحد كلها استخدم ايه ؟





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  6. #6


    تفضل اخي هذه دلة عملتها لك

    كود PHP:
    <?php

    /**
     * @author [Asaher.com]
     * @copyright 2009
     */



    function StoreEmail($filetxt,$numStore,$Folder){

    $var fopen($filetxt"r");
    $lines fread($varfilesize($filetxt));

    $numEmail ceil(count(explode("\n",$lines)));

    $partEmail explode("\n",$lines);
    $numberPart=ceil($numEmail/$numStore);//

           
    $startLengthNumber=0;
           
    $endLengthNumber=$numStore-1;//
    $k=0;
    for(
    $x=0;$x<ceil($numberPart);$x++)
               {

    $tempEmail="";

    for (
    $e=0;$e<count($partEmail);$e++)
                        if(
    $e>=$startLengthNumber  && $e<=$endLengthNumber)
                           
    $tempEmail .= $partEmail[$e]."\n";
               
    $startLengthNumber=$startLengthNumber+$numStore;//
               
    $endLengthNumber=$endLengthNumber+$numStore;//
    $k++;
    //echo $tempEmail."<br>";
    $handle fopen($Folder.$k.".txt""w");
    fwrite($handle$tempEmail);
    fclose($handle);
        }
        
        
    }


    // طريقة الاستخدام
    $filetxt "text.txt"// الملف الذي به الايمالات

    StoreEmail ($filetxt,1000,"temp/");
    //or
    //StoreEmail ($filetxt,1000,"");
    ?>







  7. #7
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    بعد اذن صاحب الموضوع

    طيب لو انا عايز قائمة الايميلات دى فى سطر واحد كلها استخدم ايه ؟
    لو في سطر واحد مش ممكن طبعاً بدون فواصل .. يعني افصل بفاصلة أو فاصلة منقوطة أو داش أو فراغ أو أي شي !





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  8. #8
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    اتفضل اخي الكريم

    كود PHP:
    <?php
    /** 
      * ##############################################
      * ##برمجة محمدهلال                             ##
      * ##جميع الحقوق محفوظة لي محمدهلال             ##
      * ##    mohamedhelal                            ##
      * ##all rights to mohamedhelal                 ##
      * ##email:mohamed_helal123456@hotmail.com        ##
      * ##############################################
      */
      
      
    function Read_File($file,$N_Email=5,$do="\n")
      {
          if(!
    file_exists($file))return false;
          
    $data=file_get_contents($file);
          
    $exp=explode("\n",$data);
          
    $all_num=ceil(count($exp)/$N_Email);
          for(
    $fi=1;$fi<=$all_num;$fi++)
          {
                  
    $ne="email_".$fi.".txt";
                  if(!
    file_exists($ne))
                  {
                    
    $fp=@fopen($ne,"w");
                }
            
    $i=1;
              foreach(
    $exp as $emails)
              {
                  
    $str=$emails.$do;
                  @
    fwrite($fp,$str);
                  if(
    $i==$N_Email)
                  {
                      @
    fclose($fp);
                      
    $i=0;
                  }
                  
    $i++;
              }
          }
      }
      
    // طريقة الاستخدام
      
    Read_File("emails.txt",10,"\n");
    ?>
    ارجو منك الدعاءة





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  9. #9


    لو في سطر واحد مش ممكن طبعاً بدون فواصل .. يعني افصل بفاصلة أو فاصلة منقوطة أو داش أو فراغ أو أي شي !
    ما انا كنت بعد ما احطهم فى سطر واحد كن هدخل على محرر notapad++ واعمل replace لكل نهاية ايميل ب .com الى .com, وبكده يكون كل ايميل مفصول عن الاخر بفاصلة
    بس الواضح ان فى طريقة اسهل
    هل ينفع ابدل "\n"ب "," وبكده كلهم يتحطوا فى سطر واحد ويتفصلو بفاصلة اتوماتيك ؟





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  10. #10
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    ما انا كنت بعد ما احطهم فى سطر واحد كن هدخل على محرر notapad++ واعمل replace لكل نهاية ايميل ب .com الى .com, وبكده يكون كل ايميل مفصول عن الاخر بفاصلة
    بس الواضح ان فى طريقة اسهل
    هل ينفع ابدل "\n"ب "," وبكده كلهم يتحطوا فى سطر واحد ويتفصلو بفاصلة اتوماتيك ؟
    قوم بستخدام الداله وغير متغير do بالقيمة التي تريد تدمج بها الايميلات
    اتفضل اخي الكريم

    كود PHP:
    <?php
    /** 
      * ##############################################
      * ##برمجة محمدهلال                             ##
      * ##جميع الحقوق محفوظة لي محمدهلال             ##
      * ##    mohamedhelal                            ##
      * ##all rights to mohamedhelal                 ##
      * ##email:mohamed_helal123456@hotmail.com        ##
      * ##############################################
      */
      
      
    function Read_File($file,$N_Email=5,$do="\n")
      {
          if(!
    file_exists($file))return false;
          
    $data=file_get_contents($file);
          
    $exp=explode("\n",$data);
          
    $all_num=ceil(count($exp)/$N_Email);
          for(
    $fi=1;$fi<=$all_num;$fi++)
          {
                  
    $ne="email_".$fi.".txt";
                  if(!
    file_exists($ne))
                  {
                    
    $fp=@fopen($ne,"w");
                }
            
    $i=1;
              foreach(
    $exp as $emails)
              {
                  
    $str=$emails.$do;
                  @
    fwrite($fp,$str);
                  if(
    $i==$N_Email)
                  {
                      @
    fclose($fp);
                      
    $i=0;
                  }
                  
    $i++;
              }
          }
      }
      
    // طريقة الاستخدام
      
    Read_File("emails.txt",10,"\n");
    ?>
    ارجو منك الدعاءة






    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  11. #11


    تمام
    الف شكر لك





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    213


    مشكورين يا شباب اشتغلت الداله 100 %
    ما قصرتو
    الله يعطيكم العافيه
    بس كيف لو بدي اخليها تبعدأ تعد ارقام الملفات من عدد معين

    مثلا انا عندي مسبقا 10 ملفات فيها ايميلات
    واريدها ان تبدا من 11
    كيف ؟






  13. #13


    عدلت لك اسماء الملفات حيث تبدأ من 11.txt

    كود PHP:
    <?php

    /**
     * @author [Asaher.com]
     * @copyright 2009
     */



    function StoreEmail($filetxt,$numStore,$Folder){

    $var fopen($filetxt"r");
    $lines fread($varfilesize($filetxt));

    $numEmail ceil(count(explode("\n",$lines)));

    $partEmail explode("\n",$lines);
    $numberPart=ceil($numEmail/$numStore);//

           
    $startLengthNumber=0;
           
    $endLengthNumber=$numStore-1;//
    $k=10;
    for(
    $x=0;$x<ceil($numberPart);$x++)
               {

    $tempEmail="";

    for (
    $e=0;$e<count($partEmail);$e++)
                        if(
    $e>=$startLengthNumber  && $e<=$endLengthNumber)
                           
    $tempEmail .= $partEmail[$e]."\n";
               
    $startLengthNumber=$startLengthNumber+$numStore;//
               
    $endLengthNumber=$endLengthNumber+$numStore;//
    $k++;
    //echo $tempEmail."<br>";
    $handle fopen($Folder.$k.".txt""w");
    fwrite($handle$tempEmail);
    fclose($handle);
        }


    }


    // طريقة الاستخدام
    $filetxt "text.txt"// الملف الذي به الايمالات

    StoreEmail ($filetxt,1000,"temp/");
    //or
    //StoreEmail ($filetxt,1000,"");
    ?>







  14. #14
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    213


    مشكور
    الله يعطيك العافيه










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض