قد تفكر: حسنًا ، الآن أعرف كيفية الكتابة إلى الملف. ولكن هل يمكننا أن نفعل المزيد؟ دعنا نحاول إنشاء وظيفة بحث لموقع الويب.
مفتاح بناء محرك البحث هو عودة. بشكل أساسي ، اكتب قطعة رمز للبحث عن الملفات في الدليل ، ثم قم بتنفيذ نفس الرمز على جميع حلقات الدلائل. لأن
لكي تكون غير قادر على تحديد عدد الدلائل الفرعية في المجموع ، يجب تنفيذ رمز البحث مرارًا وتكرارًا حتى يتم الانتهاء منه. المكالمات العودية جيدة جدا!
دعنا ننشئ صفحة بحث. لنفترض أنه تم إنشاء نموذج HTML ، حيث يدخل المستخدم سلسلة بحث.
قاتمة objfolder
خافت strsearchtext
قاتمة objfso
StrSearchText = request.form (searchText) < - سلسلة البحث
"قم بإنشاء كائنات FSO والمجلد
set fso = server.createObject (scripting.filesystemObject)
تعيين objfolder = objfso.getfolder (server.mappath (/))
ابحث عن Objfolder
يقوم الرمز أعلاه بتهيئة المتغيرات ببساطة ، وتنفيذ وظيفة البحث وظيفة البحث ، والتي تم وصفها على النحو التالي:
البحث عن وظيفة (objfolder)
قاتمة objsubfolder
'حلقة من خلال كل ملف في التيار
مجلد
لكل objfile في objfolder.files
اضبط OBJTEXTSTREAM = OBJFSO.OPENTEXTFILE (OBJFILE.PATH ، 1) < - للقراءة
"اقرأ محتويات الملف في
عامل
strfileContents = objtextstream.readall
"إذا كانت سلسلة البحث في الملف ، إذن
اكتب رابطًا
إلى الملف
إذا instr (1 ، strfileContents ، StrSearchText ، 1) ثم
استجابة. write <a href =/ & objfile.name & _
> & objfile.name & </a> <br>
bolfilefound = صحيح
إنهاء إذا
objtextstream.close
التالي
"هذا هو الجزء المتكرر - لكل منهما
المجلد الفرعي في هذا الدليل ، قم بتشغيل وظيفة البحث مرة أخرى
لكل objsubfolder في objfolder.subfolders
ابحث عن ObjSubfolder
التالي
وظيفة نهاية
من أجل أن تكون قادرًا على فتح ملف ، يتطلب FSO مسار الملف الفعلي ، وليس مسار الويب. على سبيل المثال ، هو C: inetpubwwroot empiindex.html ، لا
www.enfused.com/temp/index.html أو /temp/index.html. لتحويل الأخير إلى السابق ، استخدم server.mappath
(اسم الملف) ، يمثل اسم الملف اسم مسار الويب.
سيتم تنفيذ الرمز أعلاه في كل دليل فرعي للمجلد ضمن الدليل الأولي الذي تحدده ، حيث يشير الدليل الأولي إلى دليل جذر الويب/. ثم
ما عليك سوى فتح كل ملف في الدليل لمعرفة ما إذا كان يحتوي على السلسلة المحددة.
لاحظ أنه مع زيادة عدد الملفات والمدافع الفرعي ، سيزداد الوقت الذي يستغرقه عمليات البحث. إذا كنت بحاجة إلى أعمال بحث ثقي
الطرق ، مثل خادم فهرس خادم فهرس Microsoft.