جستجو در سايت

alachig

Member
خب يه عالمه متن نوشتم كه پريد...

اما خلاصش:
ميشه. ثددرثد. فقط خيلي وقت مي خواد.
با دات نت راحت ميشه پيادش كرد. اول مي يايم تمام پوشه هاي سايت رو رديف مي كنيم. بعد تك تك فايلهاش رو رديف مي كنيم. بعدش با يه برنامه اي مثل اون بالايي يكي يكي مي گرديمش.

فقط احتمال داره:
1. سرور داون بشه(مي دونين چرا)
نمي دونين: خب معلومه. مگه شما تو كامپيوتر خودتون تا حالا دنبال يه متن تو فايلهاي درايوهاتون نگشتين؟

2. سورس فايلهاتون رو مي گرده:) (البته ميشه واسش فيلتر تعريف كرد كه چه فايلهايي رو بگرده!)

خلاصه. ميشه. اما يه آدم بيكار و آن فول تايم مي خواد كه بشينه پاي كامپيوتر و چاي نخوره... ؛)

خلاصه بستگي داره.
 

omidak

Active Member
سلام:
بهترين راه اينه كه يك نمونه از اونها رو تويه Database گزاشت.
و از اونجا جستجو کرد :wink:
 

alachig

Member
خب. شايد اين يه ضعف واسه asp باشه اما يه افطذاهح واسه php که اصلاً توي باغ نيست!...

البته مي گم اون مطلب بالايي بستگي کامل به قدرت و نوع سرور و حجم و بزرگي يک سايت داره.
قرار نيست که کل سرور رو بگرديم. کلاً يکي دوتا پوشه که تو هر کدوم بيشتر از 5 و 6 تا فايل نخواهد بود.
اون موقع asp البته دات نتش هيچم کم نمياره.
شک دارين؟
 

omidak

Active Member
سلام:
دات نت كه كل سرور رو هم زيرو رو كنه كم نمياره :lol:
چون همونطور كه ميدونيد پرسرعت ترين Compiler دنیا الان .Net هستش :wink:
من برنامه با .Net میتونم بنویسم که خیلی راحت تمام دایرکتری ها و ... رو به طور خود کار جستجو کنه و فایلهایه مورد نظر رو دریافت و جستجو کنه این کار با IO و XML خیلی راهت میشه انجامش داد , اما ASP Classic یه خورده مشکله و من فکر کنم اگر تعداد دایرکتری ها و... بالا بره کم بیاره. :roll: :wink:
 

pourya

Member
آقا اميد ميشه كد asp.net يا xml و io رو بذاري ما هم استفاده كنيم؟

راستي براي اجراي xml در سرور چيز خاصي بايد نصب شه؟
 

omidak

Active Member
سلام:
ببين IO و XML دو تا از Namespace هایه خیلی مهم .Net هستند.
و برایه ساخت اون برنامه میشه از این 2تا Namespace استفاده کرد و درستش کرد :wink:
اگه میخوایید من براتون اینو با .NEt مینویسم :wink:
 

pourya

Member
omidak گفت:
سلام:
ببين IO و XML دو تا از Namespace هایه خیلی مهم .Net هستند.
و برایه ساخت اون برنامه میشه از این 2تا Namespace استفاده کرد و درستش کرد :wink:
اگه میخوایید من براتون اینو با .NEt مینویسم :wink:

آقا اميد لطفا زحمتشو بكش!
 

omidak

Active Member
سلام:
اول اين دوتا Function رو یه جایی قرار بدید:
کد:
    Public Function SearchDirectory(ByVal Path As String) As Hashtable
        Dim Files As New Hashtable()
        Dim FileSearch As IO.DirectoryInfo = New IO.DirectoryInfo(Path)
        Dim DirItem As IO.DirectoryInfo
        Dim FileItem As IO.FileInfo
        For Each FileItem In FileSearch.GetFiles("*.html")
            Files.Add(Files.Count, FileItem.FullName)
        Next FileItem
        For Each DirItem In FileSearch.GetDirectories
            For Each FileItem In DirItem.GetFiles("*.html")
                Files.Add(Files.Count, FileItem.FullName)
            Next FileItem
            If DirItem.GetDirectories.Length > 0 Then
                Files = SearchSubDirectory(DirItem.FullName, Files)
            End If
        Next DirItem
        Return Files
    End Function

    Public Function SearchSubDirectory(ByVal Path As String, ByVal Files As Hashtable) As Hashtable
        Dim FileSearch As IO.DirectoryInfo = New IO.DirectoryInfo(Path)
        Dim DirItem As IO.DirectoryInfo
        Dim FileItem As IO.FileInfo
        For Each DirItem In FileSearch.GetDirectories
            For Each FileItem In DirItem.GetFiles("*.html")
                Files.Add(Files.Count, FileItem.FullName)
            Next FileItem
            If DirItem.GetDirectories.Length > 0 Then
                Files = SearchSubDirectory(DirItem.FullName, Files)
            End If
        Next DirItem
        Return Files
    End Function
بعد هر موقع که خواهستید چیزی جستجو کنید از این کد استفاده کنید
البته این کد میتونه خیلی قوی تر هم بشه :wink: :
کد:
        Dim i As IDictionaryEnumerator = SearchDirectory("C:\MyWebSiteAddress").GetEnumerator
        Dim XMLDoc As XmlDocument
        Dim tmpStr As String
        Do While (i.MoveNext)
            XMLDoc = New XmlDocument()
            XMLDoc.Load(i.Value)
            tmpStr = XMLDoc.InnerText
            If Len(InStr(tmpStr, "My Key Word", CompareMethod.Text)) > 0 Then
                Response.Write(i.Value)
            End If
        Loop
برایه قسمت دوم هم میتونید یک Function تعریف کنید :wink:
 

omidak

Active Member
خواهش :wink:
يه خورده روش كار كني خيلي بهتر ميشه. من همينجوري حول حولي يه چيزي نوشتم :wink:
 

جدیدترین ارسال ها

بالا