Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wyszukiwarka PHP - proszę o pomoc!
Rudi1204
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 11.03.2007

Ostrzeżenie: (0%)
-----


Witam! od kilku dni szukam na roznego rodzaju forach skryptu do wyszukiwarki :/ przyznam ze nie jestem zbyt zaawansowany jak chodzi o php i o msql :/ niebardzo mam na to czas :/ jak narazie lekko staram sie zrozumiec php a wmiare mam opanowanego html i css.. :] to i tak niewielki sukces zwlaszcza ze jestem grafikiem ;p heh no dobra ale o co mi chodzi od kilku dni jak juz wspomnialem staram sie wyszukac skrypt do wyszukiwarki na plikach tekstowych tzn chodzi mi o to ze np mam taka strukture kat.

|archiwum|
|1/2006| |2/2006| |3/2006|....
1.txt 1.txt 1.txt
2.txt 2.txt 2.txt
3.txt 3.txt 3.txt

w katalogu archiwum mam pliki php np 2/2006.php 3/2006.php itd ktore zczutuja nazwy artykulow na zasadzie wczytania pierwszej lini tekstu w podrzednych kat i po nacisnieciu na link includuja plik txt do siebie to jak co jeszcze jest oki jakos daje sobie z tym rade (abo i sie tak wydaje;p) ale na stronie index.php chcial bym zamiescic wyszukiwarke ktora by przeszukiwala te pliki txt i w rezultaci dawala by mi linki do poszczegolnych artykulow, przy czym zeby nie bylo tak ze jak nacisne na link to mi sie otworzy plik txt tylko szablon z txt (np. 2/2006.php + 1.txt) cos w tym rodzaju >> czy ktos mogl by mi pomoc z tym zagadnieniem questionmark.gif bardzo bym prosil i byl bym wdzieczny

Ten post edytował Rudi1204 11.03.2007, 11:27:43
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Szukanie w plikach tekstowych danego wyrażenia jest co najmniej mało efektywne.

Musisz otwierać każdy plik .txt za pomocą fopen() albo file() albo file_get_contents() i sprawdzać, czy w danym pliku jest dane wyrażenie.

Jeżeli dany plik zawiera szukany tekst należy jego nazwę zapisać do jakiejś tablicy i po skończonym wyszukiwaniu wyświetlić pliki, których nazwy znajdują sie w tablicy.

Może czas poduczyć się w SQL'u i przerobić pliki tekstowe na bazę danych questionmark.gif


--------------------
404
Go to the top of the page
+Quote Post
Rudi1204
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 11.03.2007

Ostrzeżenie: (0%)
-----


na chwile obecna jest to zrobione w sql ale baza archiwum jest zbyt duża i za długo sie ładuje :/ no jak chodzi o dodawanie tekstów w panelu admina poza tym jak bym oparł sie na plikach tekstowych łatwiej było by mi uzupełniać to bo wystarczyło by tylko przekopiować katalog na serwer:/



-------------------------
widzę, że nie lubisz polskich liter
no chyba, że jesteś poza Polską
i nie masz zainstalowanego polskiej klawiatury
~Cienki1980


aha i jeszcze jedno na jednym z for juz w sumie sam nie pamietam gdzie znalazlem taka linijke kodu :
  1. <?php
  2.  
  3. function query_html ($dir, $q_num, $q_array)
  4. {
  5.  
  6.  $current_dir=opendir($dir);
  7.  while ($current_file=readdir($current_dir))
  8.  {
  9. if ($current_file=="." || $current_file=="..")
  10. continue;
  11. $fn="$dir"."$current_file";
  12. $filearray = file("$fn");
  13. $relevancy=0;
  14. $mypage="$current_file";
  15. $mycontent=strtolower(strip_tags(implode (" ", $filearray)));
  16. for ($d=0; $d<$q_num; $d++)
  17. {
  18.  $relevancy+=substr_count((string)$mycontent, (string)strtolower(strip_tags($q_array[$d])));
  19. }
  20. if ($relevancy>0)
  21. $res["$mypage"]=$relevancy;
  22.  }
  23.  if (count($res)>5)
  24.  arsort ($res);
  25.  return $res;
  26. }
  27.  
  28.  
  29. function print_answers ($search, $zoneurl, $r)
  30. {
  31.  $c=0;
  32.  if (count($r)<1)
  33. echo "Search Fail Wykrzyknik!<br>";
  34.  else
  35.  {
  36. echo "<BR>Szukanie slowa <b> ".$search.". </b> Rezultat : <b>".count($r)."</b>";
  37. while ($element=each($r))
  38. {
  39.  if ($c<1000)
  40.  {
  41. echo "<li>";
  42. echo "<a href=";
  43. echo $zoneurl.$element["key"];
  44. echo ">";
  45. echo $element["key"]."</a>";
  46. echo "</li>n";
  47. $c++;
  48.  }
  49. }
  50.  }
  51. }
  52. ?>
  53. <HTML>
  54. <HEAD>
  55. <TITLE> Text Search: <?print $_GET['search']?></TITLE>
  56. </HEAD>
  57. <BODY>
  58. <form action="juz_prawie.php" method="post" name="form1">
  59. <input type="text" name="search" value="<?php echo $search;?>">
  60. <input type="submit" value="submit" name="submit1">
  61. <?php
  62.  
  63. if(!empty($search))
  64. {
  65.  $q_array=explode(" ", $search);
  66.  $q_num=(integer)count($q_array);
  67.  
  68.  $r=query_html ("txt/", $q_num, $q_array);
  69.  print_answers ($search, "txt/", $r);
  70. }
  71. ?>
  72. </form>
  73. </BODY>
  74. </HTML>

jest on w sumie oki z tym ze po pierwsze wyszukiwac moze tylko w jendnym folderze :/ nawet nie uwzglednia podfolderow i wynikiem nie jest link do pliku tzn nazwa pliku musi byc ciagiem inaczej jak jest spacja to jest tylko pierwszy czlon :/
Czy mogł by mi ktoś pomóc z tym??
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


No to w końcu jak jest zrobiona questionmark.gif
Na SQLu - chodzi za wolno i chcesz przerobić na pliki questionmark.gif
Czy na SQL'u i na plikach questionmark.gif

No i jeżeli chcesz przejść całkowicie z SQL'a na pliki bo "będzie szybciej" ... to to chyba trochę pomylony pomysł.

Żeby nie było, że tylko krytykuje to oto kilka info.

Funkcja sprawdzająca powinna być rekurencyjna, taka która jeżeli napotka katalog wywoła siebie samą i sprawdzi dany katalog.

Gotowca od mnie nie dostaniesz, jak zaczniesz sam coś kombinować i próbować to z chęcią pomogę.


--------------------
404
Go to the top of the page
+Quote Post
dave666
post
Post #5





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 1.04.2008

Ostrzeżenie: (0%)
-----


Jak zrobic w tej wyszukiwarce zeby nie pokazywało rozszerzeń plików questionmark.gif Bardzo prosze o podpowiedz juz kilkanascie godzin szukam po necie i nie moge dojść:(

Ten post edytował dave666 9.11.2008, 05:00:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:07