Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyszukiwanie tekstu w plikach / katalogach, j.w
mikolajj
post 3.01.2006, 15:28:47
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.12.2005

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


Hej! Potrzebuje waszej pomocy. Jestem poczatkujacy jesli chodzi o php wic prosze Was o pomoc.

potrzebuje przeszukac pliki doc, pdf, itd ktore beda znajdowac sie katalogu pliki / tu kolejne katalogi (4) stale nie beda sie zmieniac (nazwy) czyli

pliki (to tez katalog a w nim: )
-> katalog1
-> dokument.doc
-> jakis.pdf
-> katalog2
->cos.doc
-> katalog3
->cos.txt
-> katalog4
->inny.pdf

mam skrypcik ktory wyszukuje (otwoera pliki doc, pdf its) jsli znajduja sie one tylko w katalogu pliki (kiedy reszty kat. w nim nie ma)

Mi zalezy na tym aby skrypt wszedl do katalogu pliki, a potem otworzyl katalog1 (przeszukal pliki w nim sie znajdujace) potem przeszedl do katalogu2 itd itd

Pytanie: Jak zmodyfikować ten skrypt aby to dzialalo? POMOZCIE DOPIERO SIE UCZE ALE NIE IWEM JAK TO ZROBIC

skrypt:
  1. <?php
  2. function drzewko($folder) {
  3.  global $pliki;
  4.  if($folder != "pliki/") {
  5. $folder = "pliki/";
  6.  }
  7.  $id_f = opendir($folder);
  8.  if($id_f) {
  9. while($plik = readdir($id_f)) {
  10.  if($plik == '.' || $plik == '..') {
  11. continue;
  12.  }
  13.  if(is_dir($folder . $plik)) {
  14. drzewko($folder . $plik);
  15.  } else {
  16. $pliki[] = $folder . $plik;
  17.  }
  18. }
  19. closedir($id_f);
  20.  }
  21.  return $pliki;
  22. }
  23.  
  24. function czytelne($spis) {
  25.  $rozszerzenie[] = "doc";
  26.  $rozszerzenie[] = "pdf";
  27.  $rozszerzenie[] = "ppt";
  28.  $rozszerzenie[] = "txt";
  29.  $rozszerzenie[] = "dat";
  30.  $rozszerzenie[] = "php";
  31.  $rozszerzenie[] = "php3";
  32.  $rozszerzenie[] = "phtml";
  33.  $rozszerzenie[] = "htm";
  34.  $rozszerzenie[] = "html";
  35.  foreach($rozszerzenie as $roz) {
  36. $dl_roz = strlen($roz);
  37. foreach($spis as $plik) {
  38.  if(substr($plik, -$dl_roz) == $roz) {
  39. $wynik[] = $plik;
  40.  }
  41. }
  42.  }
  43.  return $wynik;
  44. }
  45.  
  46. if(isset($szukane) && $szukane != '') {
  47.  $szukane = ereg_replace("[*.$/]", "", $szukane);
  48.  $szukane_slowa = split(" ", $szukane);
  49.  array_unshift($szukane_slowa, $szukane);
  50.  $ile_slow = count($szukane_slowa);
  51.  unset($szukane);
  52.  
  53.  $pliki = drzewko(".");
  54.  $czytelne = czytelne($pliki);
  55.  unset($pliki);
  56.  sort($czytelne);
  57.  
  58.  foreach($czytelne as $plik) {
  59. $id_pliku = fopen($plik, "r");
  60. $zawartosc = fread($id_pliku, filesize($plik));
  61. for($i=0; $i < $ile_slow; $i++) {
  62.  if(ereg($szukane_slowa[$i], $zawartosc)) {
  63. $trafienia[] = $folder . $plik;
  64.  }
  65. }
  66. fclose($id_pliku);
  67.  }
  68.  
  69.  if(!isset($trafienia)) {
  70.  echo ' <font class="duze" color="#800000">nie ma takiego slowa w plikach</font> ';
  71.  } else {
  72. $trafienia = array_unique($trafienia);
  73. sort($trafienia);
  74.  
  75. echo' <font class="duze" color="#336699">slowo jest w pliku<br><br> </font> ';
  76.  
  77. foreach($trafienia as $pojedyncze) {
  78. echo ' <font class="duze" color="#800000"> ';
  79. echo $pojedyncze .'' ;
  80.  
  81. echo' </font><br> ';
  82. }
  83.  
  84. echo' aby pobrac pliki wejdz do odp. katalogu<br>';
  85.  
  86.  }
  87. } else {
  88.  echo ' co chcesz szukac ';
  89. }
  90.  
  91. ?>
Go to the top of the page
+Quote Post
-Gość_mikolajj-
post 3.01.2006, 21:44:51
Post #2





Goście







hmm nikt naprawde nie wie jak to zrobic ? - moze jednak ktos sie skusi smile.gif
Go to the top of the page
+Quote Post
UDAT
post 4.01.2006, 17:05:07
Post #3





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


Cytat(mikolajj @ 2006-01-03 14:28:47)
  1. <?php
  2. function drzewko($folder) {
  3.    global $pliki;
  4.    if($folder != "pliki/") {
  5.       $folder = "pliki/";
  6.    }
  7. ...
  8. ?>

Po tym kawałku zawsze $folder ma wartość 'pliki/', a chyba nie o to chodziło questionmark.gif
Więc o co questionmark.gif
Go to the top of the page
+Quote Post
cadavre
post 4.01.2006, 18:31:17
Post #4





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


A jak z hierarchią? Czy ten skrypt masz w folderze gdzie znajduje się folder "pliki" czy też w tym folderze "pliki"?


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
-Gość_mikolajj-
post 4.01.2006, 19:20:42
Post #5





Goście







W katalogu pliki mam kolejne katalogi katalog1, katalog2, katalog3, katalog4

czyli:
pliki
->katalog1
->katalog2
->katalog3
->katalog4
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 Wersja Lo-Fi Aktualny czas: 24.04.2025 - 04:34