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

الموضوع: مطلوب سكربت بحث

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    77

    مطلوب سكربت بحث



    مرحبا ياشباب أريد إذا أمكن سكربت بحث يدعم العربي ..

    التفاصيل: أريد أن أدخل معلومات إليه مثل أسماء أشخاص ويقوم هو لي بعرض الصفحة التي تخص هذا الشخص وكل شخص يحمل هذا الإسم

    مثال أريد البحث عن باسم فيقوم السكربت بالبحث و يظهر لي نتائج بحثي مثل google و لكن ليس للموقع كله بل فقط للمجلد واحد أختاره أنا





    __________________
    أنا أفكر.... إذاً أنا موجود




  2. ضيفنى على الإيميل اللى فى التوقيع و سوف أصممه لك و أبرمجه حسب رؤيتك بعد أن أحصل على المعلومات الكامله منك من خلال الماسنجر





    __________________
    Keepondev | مدونه شديد التخصص فى الجافاسكربت
    جافاسكربت الموجهه بالكائنات | أنماط تصميم جافاسكربت

  3. #3


    السلام عليكم

    اخوي انت تقصد يبحث في مجلد أو يبحث في القاعدة ؟؟
    يعني عندك مجلد فيه صفحات html وهذا المحرك يبحث في الصفحات نفسها ويعطيك النتيجة (موجودة في الصفحة كذى)
    ام تقصد يبحث في قاعدة بيانات إلي مثلا الملفات إلي تطلبه موجودة في مجلد معين ...

    الامرين يختلفو تراهم ....

    وشكرا





    __________________
    موت الصالح راحة لنفسه * وموت الطالح راحة للناس

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    77


    لا أريده أخي مسالم أن يبحث في مجلد يحوي على صفحات html ومجلدات فرعية أخرى تحوي صفحات html





    __________________
    أنا أفكر.... إذاً أنا موجود

  5. #5


    السلام عليكم

    اخوي هل تقصد انه هناك مجلدات فرعية داخل المجلد إلي بتم البحث عنه ؟؟

    المهم اخوي ...
    أنا عملت لك مثال بسيط لطريقة البحث في ملفات html وبالمجلد إلي تحدده وراح يبحث بعد اذا في مجلدات اخرى داخل هل مجلد الحدد .. وانا عملته بالبيرل .. فاذا كان المطلوب وتحب تستخدمه خبرني باي اضافات ترغب بها .. او ان الفكرة اضن قد وصلت لك فممكن اي شخص يعمله لك باي لغة ثانية غير البيرل و السي جي اي بما ان واضح وعليه شرح
    كود:
    #!/usr/bin/perl
    
    $urlhome = "http://domain.com"; # عنوان الموقع
    $dirse = "folder"; # اسم المجلد الذي سيتم البحث فيه
    
    # لا تحتاج لتعديل بعد هذا السطر
    
    $dirroot = "$ENV{'DOCUMENT_ROOT'}"; # مسار ملفات الموقع
    
    use CGI; # طلب CGI.pm
    my $SEARCH  = CGI::new(); #  إنشاء كائن جديد
    my $keyse = $SEARCH->param('Key'); # تسمية مفتاح البحث
    my $pathdir = "$dirroot/$dirse"; # مسار مجلد الذي سيتم البحث فيه
    
    # هممممممم ... لاجراء امني وعدم تمرير قييم عن طريق مفتاح البحث
    $keyse =~ s/<([^>]|\n)*>//gi; # حذف اي وسوم HTML
    $keyse =~ s/<!--(.|\n)*-->//gi; # حذف اي طلب استدعاء 
    $keyse =~ s/(\||\^|\\|\+|\.|\*|\?|\(|\)|\[|\])//eg; # حذف اي رموز غريبة وغير لازمة
    
    print "Content-type:text/html\n\n"; # عرض صيغة الصفحة
    
    if ($keyse) { # إذا كان هناك قيمة لمفتاح البحث
    
      my @fsearch; # array لوضع النتائج اذا وجدة به
      opendir(DIR,"$pathdir");  # فتح المجلد
       while (my $files = readdir(DIR)) { # عمل تكرار لقرائته
         if ($files !~ /^\.{1,2}/) { # إذا لم يكن البداية يبدء بعلامة دوت او دوتين
           if ($files =~ /(.*)\.(html|htm)$/i) { # اذا كان ينتهي بي html,htm
              @showfile = readdatafile("$pathdir/$files"); # طلب دالة القراء لمحتواى الملف
              if (grep(/$keyse/i,@showfile)) { # اذا كان المحتوى به نفس اسم المفتاح
                 $inlink = "$urlhome/$dirse/$files"; # الحصول على عنوانه
                 push(@fsearch,$inlink); # وضعه في array
              }
           } elsif (-d "$pathdir/$files") { # كذلك إذا كان مجلد
              @getserch = readdatadir("$files"); # طلب دالة قرائة محتوى المجلد
              push(@fsearch,@getserch); # وضع النتائج في array
           }
         }
       }
      closedir(DIR); # غلق فتح المجلد
    
      my $count = @fsearch; # عدد النتائج
      if ($count) {
        # طباعة النتيجة
        print "<div dir='rtl'>تم العثور على  <b>$count</b> نتيجة/نتائج من مفتاح البحث: <b>$keyse</b><br>";
        # عرض النتائج
        print "العنوان: <a href='$_'>$_</a> <br>" foreach (@fsearch);
      } else {
        # طباعة عبارة عدم العثور
        print "لم نجد أي نتيجة مطابقة لمفتاح البحث الذي أدخلته";
      }
    
    } else { # اذا لم يكن هناك مفتاح بحث
      # طباعة صفحة البحث
      print qq~<form action="search.cgi">ادخل مفتاح البحث: 
          <input type="text" name="Key" size="20"></form>~;
    }
    
    
    # دالة قرائة محتويات المجلد الفرعية
    # هي نفس الخطوات التي تم استخدامها في المجلد الرئيسي
    sub readdatadir {
      my ($datadir) = shift;
       opendir(INDIR,"$pathdir/$datadir");
       	 while ($infiles = readdir(INDIR)) {
           if ($infiles =~ /(.*)\.(html|htm)$/i) {
              @showinfile = readdatafile("$pathdir/$datadir/$infiles");
              if (grep(/$keyse/i,@showinfile)) {
                 $inget = "$urlhome/$dirse/$datadir/$infiles";
                 push(@r_dir,"$inget");
              }
           }
         }
       closedir(INDIR);
     return @r_dir;
    }
    
    
    # دالة قراءة محتوى الملف
    sub readdatafile {
      my ($datafile) = shift;
       if (open(DATA,"$datafile")) {
       	    @r_data = <DATA>;
           close DATA;
       }
     return @r_data;
    }
    بس ضع عنوان الموقع واسم المجلد في
    $urlhome = "http://domain.com"; # عنوان الموقع
    $dirse = "folder"; # اسم المجلد الذي سيتم البحث فيه
    بس لاحظ مثلا لو المجلد إلي بتم البحث فيه داخل مجلد يعني بالعنوان
    url.com/dir/folder
    انت هني تضع اسمه
    كود:
    $dirse = "dir/folder";
    اي ملاحظات او اسئلة ان شاء الله انا حاضر
    والسموحة منك

    وشكرا





    __________________
    موت الصالح راحة لنفسه * وموت الطالح راحة للناس

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Jun 2005
    المشاركات
    77


    مشكور أخي ما قصرت و الله أنت أفضل واحد شفتوا بلغة بيرل حتى هلق.. :nice: :nice:

    بس ياريت طريقة التركيب و اين أضع الملف؟؟؟





    __________________
    أنا أفكر.... إذاً أنا موجود

  7. #7


    السلام عليكم

    طريقة التركيب :
    - خذ الكود وضعه بعد تعديل البيانات المطلوبة في ملف وسميه باي اسم والامتداد يكون pl او cgi (يفضل cgi)
    - ارفعه بصيغة اسكي إلى داخل مجلد cgi-bin او اذا الموقع يدعم تشغيله خارج cgi-bin ضعه في اي مكان في الموقع
    - عطي الملف تصريح 755 ... واطلبه من المتصفح ... وجربه

    وسلامتك هذا كل شي ...


    وشكرا





    __________________
    موت الصالح راحة لنفسه * وموت الطالح راحة للناس





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

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

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