Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyszukiwanie w pliku
Forum PHP.pl > Forum > Przedszkole
qwe
czy ktos ma moze skrypt lub moze pomoc, chodzi mi o skrypt w php zeby

podaje gotowa lokalizacje pliku tekstowego w skrypcie

ustawiam pole do wpisania slow, przycisk szukaj

po wpisaniu slowa w pole szukaj i wcisnieciu przycisku szukaj, on przeszukuje mi plik.txt podany wczesniej czy dane slowo w nim jest

jesli jest cos wyskakuje ze jest

jesli nie ma cos wyskakuje ze nie ma

z gory dzieki za pomoc
TomASS
Lekka podpowiedź czego szukac:
Cytat
podaje gotowa lokalizacje pliku tekstowego w skrypcie

  1. <input type="file" name="plik">


Cytat
ustawiam pole do wpisania slow, przycisk szukaj

  1. <input type="text" name="szukane">


Cytat
po wpisaniu slowa w pole szukaj i wcisnieciu przycisku szukaj, on przeszukuje mi plik.txt podany wczesniej czy dane slowo w nim jest

wyrażenia regularne

Cytat
jesli jest cos wyskakuje ze jest
jesli nie ma cos wyskakuje ze nie ma

struktury kontrolne
kossa
Gotowego skryptu nie mam ale do tego potrzebujesz tylko 3 funkcji:

fopen();
fscanf(); //jesli dobrze pamiętam :-) sprawdzisz to sobie
fclose();

i zastosować pętle np. while

Gotowych skryptów szukaj na forum w dziale srypty php.

Łukasz
qwe
witam
mam juz cos takiego
  1. <?php
  2. $szukane = $_REQUEST["szukane"];
  3. if (isset($szukane)) {
  4.  if ($szukane != '') {
  5. echo $szukane;
  6. }
  7. else 
  8.  {
  9. echo "Nic nie wpisales" ;
  10. }}
  11. else { 
  12. echo "Zmienna nie jest ustawiona";
  13. }
  14. <input type="file" name="c:apache2htdocsbaza.txt">
  15.  
  16.  
  17. ?>

a ramki do wpisania i slowo szukaj mam w pierwszym pliku
teraz tylko nie zabardzo wiem jak wpisac te rzeczy ktore mi podaliscie sad.gif
dzieki za pomoc i dzieki za odpowiedzi
kszychu
@qwe: najlepiej zarejestruj się, przeczytaj regulamin i zasady pisania na forum i używaj bbcode.
Gość
a jak sie uzywa kod bbcode questionmark.gif
Cysiaczek
Masz takie przyciski w edytorze - lub użwasz (nie piszę otwierających) [/b] [/php] [/html] .
Kod umieszczasz pomiędzy takimi znacznikami. Wtedy forum wie, że chcesz wprowadzić kod i innym lepiej się czyta smile.gif
qwe
ok dzieki
qwe
witam znalazlem w necie cos takiego odpowiednio ustawilem tylko wyskakuje mi blad w lini 20 i 2 oraz po nacisnieciu szukaj blad w lini 40 jesli slowo znalazlo a jesli nie znalazlo blad w lini
  1. <?php
  2. $szukane = $_REQUEST["szukane"];
  3. if (isset($szukane)) {
  4.  if ($szukane != '') {
  5. echo $szukane;
  6. }
  7. else 
  8.  {
  9. echo "Nic nie wpisales" ;
  10. }}
  11. else { 
  12. echo "Zmienna nie jest ustawiona";
  13. }
  14.  
  15. $pagename = "szuk.php"; //-- nazwa pliku z tym sktyptem
  16. $d = dir("c:apache2htdocs"); //-- katalog z plikami w ktorych ma wyszukiwac:  
  17.  
  18. // - "./" - katalog w torym jest skrypt
  19. // - "inny_katalog/" - inny katalog :)
  20. $action = $_GET['action'];
  21. if(!isset($action))
  22. {
  23. $action="form";
  24. }
  25. switch ($action)  
  26. {  
  27.  case "form": 
  28.  echo"
  29. <form action="$pagename?action=search" method="post">  
  30.  Szukany wyraz: <input type="text" name="szukane">
  31. <input name="submit" type="submit" value="Szukaj">  
  32.  </form>
  33. ";  
  34.  break;
  35. case "search": 
  36.  $fraza = $_POST['fraza']; 
  37.  while($file_name=$d->read())  
  38. {  
  39.  if (!($file_name == "." || $file_name == ".." || $file_name == $pagename || is_dir
  40. ($file_name)))
  41. {  
  42.  $file = fopen($file_name,"r");  
  43.  @ $text = fread($file, filesize("$file_name"));
  44. $text = strip_tags($text);
  45. $text = str_replace("rn" , " ", $text);
  46. $text = explode(" ", $text);
  47. $tbl = count($text);
  48. for ($i=0; $i<$tbl; $i++)  
  49.  { $text[$i] = strtolower($text[$i]); 
  50.  $fraza = strtolower($fraza);
  51. if ($text[$i] == $fraza)  
  52.  {
  53. if (!is_array ($result))  
  54.  {
  55. $result[] = $file_name;
  56. }
  57. elseif (!in_array ("$file_name", $result))  
  58.  {
  59. $result[] = $file_name;
  60. }
  61. }
  62. }  
  63.  }  
  64.  }
  65. $tbl_result = count($result); 
  66.  
  67.  if ($tbl_result > 0)  
  68.  
  69.  {
  70. for ($i=0; $i<$tbl_result; $i++)
  71. {
  72. echo"  
  73.  Szukany wyraz znaleziono w pliku: <a href="$result[$i]">$result[$i]</a> <br/> 
  74.  ";  
  75.  }
  76. }
  77. else  
  78.  {
  79. echo"Nic nie znalazlem :(";  
  80.  } break; 
  81.  }
  82. ?>

dzieki za pomoc
TomASS
a jaki jest komunikat błędu ?
qwe
Notice: Undefined index: szukane in C:\Apache2\htdocs\szuk.php on line 2
Zmienna nie jest ustawiona
Notice: Undefined index: action in C:\Apache2\htdocs\szuk.php on line 19
qwe
cos poprawilem i mam blad dalej w lini 68 Parse error: parse error, unexpected $end in C:\Apache2\htdocs\szukaj.php on line 68, i gdy jest puste pole nie wyskakuje komunikat ze pole puste sad.gif
dziekuje za pomoc i za zainteresowanie
  1. <HTML>
  2. <head>
  3. <title>szukaj.php</title>
  4. </head>
  5. <body>
  6. <?php
  7.  
  8. $szukane = $_REQUEST["szukane"];
  9. if (isset($szukane)) {
  10.  if ($szukane != '') {
  11. echo $szukane;
  12. }
  13. else 
  14.  {
  15. echo "Nic nie wpisales" ;
  16. }}
  17. else { 
  18. echo "Zmienna nie jest ustawiona";
  19. }
  20.  
  21.  $d = dir("c:apache2htdocs");
  22. while($file_name=$d->read())
  23.  { if (!($file_name == "." || $file_name == ".." || $file_name == $pagename || is_dir
  24. ($file_name)))  
  25.  {  
  26.  $file = fopen($file_name,"r");
  27. @ $text = fread($file, filesize("$file_name")); 
  28.  $text = strip_tags($text);  
  29.  $text = str_replace("rn" , " ", $text);  
  30.  $text = explode(" ", $text);  
  31.  $tbl = count($text);
  32. for ($i=0; $i<$tbl; $i++)
  33. {  
  34.  $text[$i] = strtolower($text[$i]); 
  35.  $fraza = strtolower($fraza);  
  36.  if ($text[$i] == $fraza)  
  37.  {
  38. if (!is_array ($result))
  39. {  
  40.  $result[] = $file_name;
  41. }  
  42.  elseif (!in_array ("$file_name", $result))  
  43.  {
  44. $result[] = $file_name;  
  45.  }  
  46.  }
  47. }  
  48.  }
  49. } 
  50.  $tbl_result = count($result);
  51. if ($tbl_result > 0)
  52. { for ($i=0; $i<$tbl_result; $i++)
  53. {  
  54.  echo"
  55. Szukany wyraz znaleziono w pliku: <a href="$result[$i]">$result[$i]</a> <br/>
  56. ";
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. ?>
  64. <br>
  65. <h3><font color="blue"><a href="http://localhostdobrze.php">Nowe szukanie</a></h3></font>
  66.  
  67. </body>
  68. </HTML>
TomASS
Otwierasz nawiasy klamrowe {

  1. <?php
  2. if ($tbl_result > 0)  
  3.  {
  4. for ($i=0; $i<$tbl_result; $i++)
  5. { 
  6.  echo"Szukany wyraz znaleziono w pliku: <a href="$result[$i]">$result[$i]</a> <br/> ";
  7. ?>


a gdzie je zamykasz?


Co do wcześniejszych błedów to pkt 7.

Co do pustego pola, to przemyśl tą konstrukcję co napisałeś:

  1. <?php
  2. if (isset($szukane)) { 
  3. if ($szukane != '') {
  4. echo $szukane;
  5. }
  6. else {
  7. echo "Nic nie wpisales" ;
  8. }
  9. }
  10. else { 
  11. echo "Zmienna nie jest ustawiona";
  12. }
  13. ?>
qwe
dzieki za pomoc
ale juz sie pogubilem i nie wiem jak to wszystko zrobic sad.gif
  1. <HTML>
  2. <head>
  3. <title>szukaj.php</title>
  4. </head>
  5. <body>
  6. <?php
  7.  
  8. $szukane = $_REQUEST["szukane"];
  9. if (isset($szukane)) {
  10.  if ($szukane != '') {
  11. echo $szukane;
  12. }
  13. else 
  14.  {
  15. echo "Nic nie wpisales" ;
  16. }}
  17. else { 
  18. echo "Zmienna nie jest ustawiona";
  19. }
  20.  
  21.  
  22.  
  23. ?>
  24. <br>
  25. <h3><font color="blue"><a href="http://localhostdobrze.php">Nowe szukanie</a></h3></font>
  26.  
  27. </body>
  28. </HTML>

jestem znow w tym punkcie wyjcia, TomaSS czyli tego pola powinno nie byc?? ono jest zle??
bo juz nie wiem teraz jak ustawic zeby ten plik przeszukalo czy sa w nim dane nazwy
qwe
zmienilem zeby mi otworzylo plik ale wyskakuje blad
  1. <HTML>
  2. <head>
  3. <title>szukaj.php</title>
  4. </head>
  5. <body>
  6. <?php
  7.  
  8. $szukane = $_REQUEST["szukane"];
  9. if (isset($szukane)) {
  10.  if ($szukane != '') {
  11. $fp = fopen("c:apache2htdocsbaza.txt", "r");
  12. $stareDane = fread($fp, filesize("c:apache2htdocsbaza.txt"));
  13.  
  14.  
  15. }
  16. else 
  17.  {
  18. echo "Nic nie wpisales" ;
  19. }
  20.  }
  21. else
  22.  {
  23.  echo "Zmienna nie jest ustawiona";
  24. }
  25.  
  26.  
  27.  
  28. ?>
  29. <br>
  30. <h3><font color="blue"><a href="http://localhostdobrze.php">Nowe szukanie</a></h3></font>
  31.  
  32. </body>
  33. </HTML>

Resource id #3 i nie wiem dlaczego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.