Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przeszukiwanie plików na serwerze w poszukiwaniu frazy.
wlodziu
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 4.07.2011

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


Witam. Próbuje stworzyć wyszukiwarkę plików na serwerze. Jej działanie ma polegać na tym, że wpisuje szukaną fraze i skrypt przeszukuje wszystkie katalogi i pliki na serwerze w poszukiwaniu tej frazy i wyświetla liste plików w jakich ona się znajduje. Mam taki skrypt on działa, ale (jest jedno ale) nie szuka w plikach php, znaczy szuka, ale nie wiem na jakiej zasadzie jeśli umieszczę np w pliku:
  1. <?php
  2. echo "ala ma kota";
  3. ?>

To nie znajdzie żadnych ze słów.
A chodzi mi o to by szukało np. zmiennej. Proszę o pomoc, niżej kod PHP skryptu:
  1.  
  2. <?
  3.  
  4. if (isset($_POST["zapytanie"])) $zapytanie=strtolower($_POST["zapytanie"]);
  5. else $zapytanie="";
  6.  
  7. $zakazane_pliki=array("funkcje.php","hasla.php","szukaj.php");
  8. $dozwolone_rozszerzenia=array("htm","html","php");
  9.  
  10. if ($zapytanie!="") {
  11. echo "Wyniki wyszukiwania frazy <b>$zapytanie</b>:<br>";
  12. przeszukuj(".",$zapytanie, $zakazane_pliki,$dozwolone_rozszerzenia);
  13. }
  14. else echo "Nie wpisales zadnej frazy!";
  15.  
  16.  
  17. function przeszukuj($nazwa_folderu,$zapytanie,$zakazane_pliki,$dozwolone_rozszerzenia)
  18. {
  19.  
  20. if (!isset($nazwa_folderu)) $nazwa_folderu=".";
  21.  
  22. $folder=opendir($nazwa_folderu);
  23.  
  24. while ($plik=readdir($folder))
  25. {
  26. if ((!in_array($plik, $zakazane_pliki)) && in_array(substr($plik,strrpos($plik,".")+1),$dozwolone_rozszerzenia))
  27. {
  28. $zawartosc=implode("",file($nazwa_folderu."/".$plik));
  29. $zawartosc2=strip_tags(strtolower($zawartosc));
  30. $pozycja=strpos($zawartosc2, $zapytanie);
  31. $start=strpos($zawartosc, "<title>")+7;
  32. $stop=strpos($zawartosc, "</title>");
  33.  
  34. if ($start===false || $stop===false)
  35. $tytul="".$nazwa_folderu."/".$plik."";
  36. else
  37. $tytul="".$nazwa_folderu."/".$plik."";
  38.  
  39.  
  40. if ($pozycja!==false)
  41. {
  42. echo "<a href=".$nazwa_folderu."/".$plik.">".$nazwa_folderu."/".$plik."</a><br>";
  43. }
  44. }
  45.  
  46. if ($plik!="." && $plik!=".." && is_dir($nazwa_folderu."/".$plik))
  47. przeszukuj($nazwa_folderu."/".$plik, $zapytanie, $zakazane_pliki, $dozwolone_rozszerzenia);
  48. }
  49.  
  50. closedir($folder);
  51. }
  52.  
  53. ?>

Z góry dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Adi32
post
Post #2





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


  1. <?
  2.  
  3. $ftp_server = "";
  4. $ftp_user = "";
  5. $ftp_pass = "";
  6.  
  7.  
  8.  
  9. $conn = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
  10.  
  11. // try to login
  12. if (@ftp_login($conn, $ftp_user, $ftp_pass)) {
  13. //echo "Connected as $ftp_user@$ftp_server\n";
  14. echo 'nawiazano polaczenie z serverem!';
  15. $nav = 'ok';
  16. } else {
  17. echo "Couldn't connect as $ftp_user\n";
  18. }
  19.  
  20. function szukaj(&$conn,$sciezka='domains',$szukane)
  21. {
  22. echo '<pre>';
  23.  
  24. $lista = (ftp_nlist($conn,$sciezka));
  25.  
  26.  
  27. if (is_array($lista)) {
  28.  
  29. foreach ($lista as $num => $plik)
  30. {
  31.  
  32. //sleep(0.1);
  33.  
  34. $info = (pathinfo($plik));
  35.  
  36. if ($info['extension'] != '.' && $info['extension'] != '..' /* && $info['filename'] != 'jquery-tooltip' && $info['filename'] != 'przystan' && $info['filename'] != 'examples' && $info['filename'] != 'makefont' && $info['filename'] != 'font' && $info['filename'] != 'fpdf'*/) {
  37.  
  38. //echo '<br /> Info o pliku '.$plik.'<br />';
  39. //print_r ($info);
  40.  
  41. // jeśli katalog
  42. if(!isset($info['extension']) && $info['filename'] != '..' && $info['filename'] != '.') {
  43. echo '<br />Otwieram: '. $info['dirname'].'/'.$info['basename'].'<br />';
  44. szukaj($conn,$info['dirname'].'/'.$info['basename'],$szukane);
  45. }
  46. echo $plik.'<br />';
  47. flush();
  48. //echo $plik.'<br />';
  49. /*flush();
  50.  
  51.   if($info['basename'] == $szukane) {
  52.   echo $plik.'<br />';
  53.   flush();
  54.   }
  55.   */
  56. }
  57.  
  58. }
  59.  
  60. }
  61.  
  62. }
  63.  
  64. ?>
  65.  
  66. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  67. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
  68. <head>
  69. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  70. <title>Znajdywarka</title>
  71. <meta name="language" content="pl" />
  72. <meta name="Description" content="opis strony" />
  73. <meta name="Keywords" content=" wyraz1, wyraz2, wyraz3, wyraz4..." />
  74. <link rel="stylesheet" type="text/css" href="css/screen.css" />
  75. </head>
  76.  
  77. <body>
  78.  
  79. <p>Jeżeli wpiszesz coś w pole 'gdzie' to wyszukiwanie odbędzie się w: domena.pl/strony/(gdzie)/</p>
  80. <p>Jeżeli nic nie wpiszesz w pole 'gdzie' to wyszukiwanie odbędzie się w: domena.pl/strony/</p>
  81. <p></p>
  82.  
  83. <form method="POST" action="">
  84. <label>Gdzie: <input type="text" name="gdzie" value=<?=$_POST['gdzie']?> /></label>
  85. <label>Co: <input type="text" name="cos" value=<?=$_POST['cos']?> /></label>
  86. <label><input type="submit" name="szukaj" value="Szukaj!"></label> <br />
  87.  
  88. </form>
  89.  
  90. <?php
  91.  
  92. if(isset($_POST['szukaj']) && !empty($_POST['cos'])) {
  93.  
  94. echo '<pre>';
  95. szukaj($conn,'sciezka/startowa',$_POST['cos']);
  96. echo '</pre>';
  97.  
  98. }
  99.  
  100. ?>
  101.  
  102. </body>
  103.  
  104. </html>


szuka po nazwach plików, wystarczy zedytować aby przeszukiwał pliki.


Ten post edytował Adi32 4.07.2011, 09:46:23
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: 5.10.2025 - 11:09