• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosta wyszukiwarka plików w php

0 głosów
73 wizyt
pytanie zadane 18 lutego w PHP, Symfony, Zend przez Wojciech Radtke Gaduła (4,360 p.)

Witam.

Robie stronę na której chciałbym umieścic przeglądarke. Patrzałem trochę na te dostępne już w internecie, ale żadna nie oferowała dokładnie tego, co chce, więc postanowiłem zrobić wlasną, która tak jakby nie działa dobrze. Może ktoś chciałby mi powiedzieć co robie źle w tym kodzie? Dodam tylko, że jak już wyszukiwarka wyszuka coś to zazwyczaj jest to jedna litera i najczęśiej nie pokazuje wszystkich wyników.

<html>
<head>
<meta charset='utf-8'>
</head>
<body>
      <form action = "<?php $_PHP_SELF ?>" method = "GET">
         Wyszukaj: <input type = "text" name = "q" />
         <input type = "submit" />
      </form>
<code>
<?php
$pliki = glob('*.{htm,html}', GLOB_BRACE);
echo "<txt>przeszukano katalog.(", var_dump($pliki), ")</txt><br>";
if ($pliki != false) {
    echo "<txt>znaleziono pliki</txt><br>";
    foreach($pliki as $plik) {
    $myfile = fopen($plik, "r") or die("<txt>Unable to open file!</txt>");
    echo "<txt>przeszukano " .$plik. "</txt><br>";
    echo "<txt>uzyskano dostęp do pliku w trybie read only</txt><br>";
    if (stristr(fread($myfile,filesize($plik)), $_GET[q]) == false) {
        echo "<txt>nie znaleziono wyniku w " .$plik. "</txt><br>";
    } else {
       $myfile = fopen($plik, "r") or die("<txt>Unable to open file!</txt>");
       echo "<a href='" .$plik. "'><txt>";
       echo fread($myfile,filesize($plik));
       echo "</txt></a>";
    }
    fclose($myfile);
    echo "<txt>zamknięto plik " .$myfile. "</txt><br>";
    }
} else {
  echo "<txt>w katalogu nie znaleziono żadnych plików!</txt><br>";
}
?>
</code>
</body>
</html>

Jestem początkujący w php, co raczej można zobaczyc po kodzie, ale mam nadzieje, że odczytanie go nie będzie problemem.

komentarz 18 lutego przez Wojciech Radtke Gaduła (4,360 p.)
ps. Może jest jakiś sposób na obliczanie podobieństwa 2 wyrazów w php?

1 odpowiedź

0 głosów
odpowiedź 18 lutego przez OdsetekGlupoty Stary wyjadacz (14,230 p.)
Witam,

W linii 20 użyłeś nieprawidłowego indeksu q. Użyj cudzysłowa lub apostrofów.

W linii 24 w instrukcji echo użyj apostrofów zamiast cudzysłowa. Nie możesz tego zrobić na odwrót.

Aby porównać podobieństwo 2 ciągów znaków, poczytaj o funkcji similar_text().

Jeśli masz jeszcze jakieś błędy, to postaraj się dokładnie opisać co nie działa.
komentarz 18 lutego przez Wojciech Radtke Gaduła (4,360 p.)
co miałeś dokładnie na myśli pisząc o tej linii 24?
komentarz 18 lutego przez Wojciech Radtke Gaduła (4,360 p.)
ciągle szuka źle, ale spróbuje dodać similar_text i wtedy zobacze jeszcze raz
komentarz 18 lutego przez OdsetekGlupoty Stary wyjadacz (14,230 p.)

@Wojciech Radtke, Ten href powinien wyglądać tak:

echo '<a href="' . $plik . '"> ... 

 

komentarz 18 lutego przez Wojciech Radtke Gaduła (4,360 p.)
ok, dzięki. Będę musiał poprawiać, bo to nie jedyny skrypt, który tak zrobiłem );
komentarz 18 lutego przez Wojciech Radtke Gaduła (4,360 p.)
Czy mógłby mi pan jeszcze powiedzieć czy jest komenda, która z całego tekstu weźmie jeden wyraz?
komentarz 19 lutego przez OdsetekGlupoty Stary wyjadacz (14,230 p.)

Nie ma takiej funkcji wbudowanej, ale możesz użyć funkcji explode() i podzielić cały tekst na wyrazy, a następnie z utworzonej tablicy wylosować randomowy indeks używając funkcji rand()​​​​​​. 

Podobne pytania

0 głosów
1 odpowiedź 196 wizyt
+32 głosów
7 odpowiedzi 844 wizyt
pytanie zadane 26 marca 2018 w Offtop przez shotokan Nałogowiec (39,260 p.)
0 głosów
1 odpowiedź 85 wizyt
pytanie zadane 19 grudnia 2018 w PHP, Symfony, Zend przez patrick167 Nowicjusz (140 p.)
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

65,788 zapytań

112,438 odpowiedzi

237,542 komentarzy

46,728 pasjonatów

Przeglądających: 232
Pasjonatów: 6 Gości: 226

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...