Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka, problem z plikami
hryciuk
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.07.2004

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


Witajcie kto mi moze pomóc z wyszukiwarka.
Mam katalog "strony" w którym znajdują się pliki których zawartość chce przeszukac pod katem słów kluczowych.
zapis w kazdym pliku ma sposób:
1||ASD||http://ASD||ASD||2005-10-30_09:27:30||
2||f||http://f||f||2005-10-29_22:45:22||
0||q||http://q.pl||q||2005-10-29_22:38:14||

ilość odwiedzin || naswa || adres | opis || data

Problem głownie polega na tym ze mi nie przeszukuje wszystkich plików tylko 1 plik ! Co mam zrobic zeby przeszukalo wszystkie pliki w katalogu i wyswietlilo je jak w skrypcie. Bede wdzięczny za pomoc. Pozdrawiam
Achca searchtext to form w ktorego wpisujemy słowa kluczowe.
Oto zródło:

  1. <?php
  2. $searchtext = $_POST["searchtext"];
  3. if($searchtext == "") {
  4.     echo "brak tekstu";
  5. }
  6.  
  7. $handle = opendir('strony/.');
  8. while (false !== ($file = readdir($handle))) { 
  9.     if ($file != "." && $file != ".." && $file != "kategorie.szk") {
  10. $file1=fopen("strony/".$file."", "r");
  11.    flock($file1, 1);
  12.    }
  13.  //tu jest linijka odpowiedzialna za wczytanie pliku ale wczytuje mi tylko 1 plik
  14. $plik = "$katalog/$file";
  15.   }
  16. $file = file($plik);
  17. $count=0;
  18. echo"<b>Wyniki wyszukiwania:</b><br><br>";
  19. for ($i=0;$i<count($file);$i++) {
  20.     $grupa = split("|", chop($file[$i]));
  21.     $split = explode("||", $file[$i]);
  22.     $findtxt="$split[1]$split[2]$split[3]";
  23.  
  24.     if(eregi($searchtext,$findtxt)) {
  25.         $count++;
  26.         echo "<table cellspacing=0 cellpadding=0 boreder=0 width=100%><tr><td class=ramka><img src=image/dok.gif align=top> <b>".str_replace("_"," ",$split[1])."</b><hr>";
  27.         echo "<a href="go.php?site=$split[2]&p=$kategoria" onmouseover='roll$count.src="image/www2.gif"'onMouseOut='roll$count.src="image/www1.gif"' title='Otwórz stronę: ".str_replace("_"," ",$split[1])."' target=_blank><img src="image/www1.gif" name=roll$count align=top> ".$split[2]."</a><br><br>";
  28.         echo "<table cellspacing=0 cellpadding=0 boreder=0 width=100%><tr><td class=ramka1>".str_replace("_"," ",$split[3])."</td></tr></table><br>";
  29.         echo "<small>Ilo&para;ć wywołań: <b style="color: #B22222">$split[0]</b>&nbsp;&nbsp;Data zgłoszenia strony: ".str_replace("_"," ",$split[4])."</small>";
  30.         echo "</td></tr></table><br>";
  31.     }
  32. }
  33. echo "Znaleziono $count odpowiedzi na zapytanie";
  34.  
  35. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dtb
post
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


Cytat
i chce zeby mi przeszukiwało pliki w katalogu z wyjatkiem pliku cos.txt


daj to na początku pętli foreach:
  1. <?php
  2. if ($filename == 'katalog/cos.txt') break;
  3.  
  4. ?>


Cytat
i w linku $kategoria zeby była to nazwa pliku, próbowałem wstawić $filename ale wtedy wstawia sie np. "strony/jakisplik.txt" a ja chce zeby sei wstawilo tylko "jakisplik" bez zadnych rozszezen i przedrostków.


  1. <?php
  2. echo preg_replace ('/katalog/([a-zA-Z0-9_]+).txt/', '$1', $filename);
  3. ?>


Cytat
jak zrobic aby $count zliczał wszystkie wyszukane linijki bo nie działa jak przestawie go wyzej to zlicza ale jest wyswietlany tyle razy ile plikow jest przeszukiwanych?


nie jestem pewien czy cie dobrze zrozumiałem. wytnij $count = 0; i wstaw przed pętle foreach.

Ten post edytował dtb 19.11.2005, 11:14:40
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.12.2025 - 16:30