Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] skrypt odczytujacy katalogi
-gosc-
post
Post #1





Goście







Mam taki oto kod:
Kod
$adres = "/";

  $katalog = opendir($adres);

    while (false !==($dir = readdir($katalog))){

      if ($dir != "." && $dir != ".." && $dir != $dir."_thumb") {
    
          if (is_dir($adres.'/'.$dir)){
        echo $dir;
          
        
            }
    
       }

    }
closedir($katalog);

i nie wiem dlaczego wyswietla mi rowniez katalogi z koncowka _thumb, bo wedlug mnie nie powinien. Co wiecej na innej podstronie mam bardzo podobny kod tylko troche bardziej rozbudowany i dziala bez problemu. Ktos ma jakis pomysl ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


nie da się dać $dir!=$dir.'thumb' bo to wyjdzie dla katalogu np 'costam_thumb'

if('costam_thumb'!='costam_thumb'.'_thumb')
Go to the top of the page
+Quote Post
-gosc-
post
Post #3





Goście







moj blad zapomnialem dodac ze w przeszukiwanym katalogu ( czyli tym z ktorego wyswietlam te katalogi ) sa katalogi z koncowka _thumb ktorych nie chce wyswietlic. Np zawartosc tego katalogu to: kat1, kat1_thumb, kat2, kat2_thumb. I wlasnie tych katalogow z koncowka _thumb nie chce wyswietlic dlatego tam powinien wyjsc taki warunek ze jezeli $dir != $dir_dhumb to wejdz do if i spelnij warunek. Tylko ze z jakiegos powodu to nie dziala i w tym caly problem.
Go to the top of the page
+Quote Post
Roly
post
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 7
Dołączył: 8.12.2003
Skąd: Andrychów

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


No to może spróbuj tak...

Edit: masakra to wolne jest co przedstawiłeś... Penie zadziała ale zaprzęganie wyrażeń regularnych do takich prostych rzeczy to "lekkie" marnotrawienie czasu i zasobów... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. $adres = "/";
  3.  
  4.  $katalog = opendir($adres);
  5.  
  6.    while (false !==($dir = readdir($katalog))){
  7.  
  8.      if ($dir != "." && $dir != "..") {
  9.       if($dir != $dir."_thumb") {
  10.          if (is_dir($adres.'/'.$dir)){
  11.           echo $dir;
  12.          }
  13.       }
  14.     }
  15.    }
  16. closedir($katalog);
  17. ?>


Ten post edytował Roly 24.11.2008, 18:06:12
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




~Roly, Twój kod logicznie niczym nie różni się od pierwotnego... Tylko inny zapis.

  1. <?php
  2. $adres = "/";
  3.  
  4. $katalog = opendir($adres);
  5.  
  6.   while (false !==($dir = readdir($katalog))){
  7.  
  8.     if ($dir != "." && $dir != ".." && strrpos($dir, '_thumb')!==false) {
  9.         if (is_dir($adres.'/'.$dir)){
  10.          echo $dir;
  11.         }
  12.    }
  13.   }
  14. closedir($katalog);
  15. ?>
Go to the top of the page
+Quote Post
Roly
post
Post #6





Grupa: Zarejestrowani
Postów: 55
Pomógł: 7
Dołączył: 8.12.2003
Skąd: Andrychów

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


Cytat(erix @ 24.11.2008, 20:38:52 ) *
~Roly, Twój kod logicznie niczym nie różni się od pierwotnego... Tylko inny zapis.


No i właśnie oto chodzi że się logicznie różni i działa...

  1. <?php
  2. if ($dir != "." && $dir != ".." && $dir != $dir."_thumb")
  3. ?>


To nie zwrorci nigdy logicznej jednynki....
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
To nie zwrorci nigdy logicznej jednynki....

Fakt, zapędziłem się. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cytat
To nie zwrorci nigdy logicznej jednynki....

Zwróci, ale akurat na odwrót - dla plików nie zawierających _thumbs.
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Wywalam posty gościa gox oraz jego obecność z fragmentów innych wypowiedzi.
Proszę raportować jego obecność. Będzie leciał do kosza.
Go to the top of the page
+Quote Post
-gosc-
post
Post #9





Goście







erix - twój kod to jest właśnie coś o czym myślałem, dzięki za zaglądniecie i odp. w temacie. Jedna tylko rzecz jest do poprawy, żeby zwracało katalogi bez _thumb należy z tego fragmentu strrpos($dir, '_thumb')!==false pozbyć się znaku ' ! ' i wtedy wszystko gra. Dzięki raz jeszcze.
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




PS. Zobacz notkę w manualu dla strpos" title="Zobacz w manualu PHP" target="_manual, pilnuj operatora.
Go to the top of the page
+Quote Post
-gosc-
post
Post #11





Goście







No tak 0 lub "", mysle ze === powinno zalatwic sprawe, dzieki raz jeszcze.
Go to the top of the page
+Quote Post

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: 15.09.2025 - 03:49