Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Proszę o poradę listowanie katalogu
-JaQu-
post
Post #1





Goście







Buduję galerie na lightbox2

Na stronie gdzie dodaje się linki do plików zastosowałem listowanie katalogu.

Kod:

  1.  
  2. <?PHP
  3. $katalog = @dir('galeria/images') or die ("Nie można listować");
  4. while ($plik_kat = $katalog->read())
  5. {
  6. echo "<a href='galeria/images/$plik_kat' rel='lightbox'><img src='galeria/images/$plik_kat' alt=''></a<BR>";
  7. }
  8. $katalog->close();
  9. ?>
  10.  


Listowanie działa, generuje ładnie kolejne linku z plikami, ale dorzuca też jako link katalogi które są w środku oraz katalog główny ("images)

strona generuje taki kod:

  1.  
  2. <a href='galeria/images/bullet.gif' rel='lightbox'><img src='galeria/images/bullet.gif' alt=''></a><BR><a href='galeria/images/..' rel='lightbox'><img src='galeria/images/..' alt=''></a><BR><a href='galeria/images/loading.gif' rel='lightbox'><img src='galeria/images/loading.gif' alt=''></a><BR><a href='galeria/images/close.gif' rel='lightbox'><img src='galeria/images/close.gif' alt=''></a><BR><a href='galeria/images/nextlabel.gif' rel='lightbox'><img src='galeria/images/nextlabel.gif' alt=''></a><BR><a href='galeria/images/prevlabel.gif' rel='lightbox'><img src='galeria/images/prevlabel.gif' alt=''></a><BR><a href='galeria/images/closelabel.gif' rel='lightbox'><img src='galeria/images/closelabel.gif' alt=''></a><BR><a href='galeria/images/.' rel='lightbox'><img src='galeria/images/.' alt=''></a><BR><a href='galeria/images/download-icon.gif' rel='lightbox'><img src='galeria/images/download-icon.gif' alt=''></a><BR><a href='galeria/images/donate-button.gif' rel='lightbox'><img src='galeria/images/donate-button.gif' alt=''></a><BR><a href='galeria/images/zdjecia' rel='lightbox'><img src='galeria/images/zdjecia' alt=''></a><BR><a href='galeria/images/image-1.jpg' rel='lightbox'><img src='galeria/images/image-1.jpg' alt=''></a><BR><a href='galeria/images/thumb-1.jpg' rel='lightbox'><img src='galeria/images/thumb-1.jpg' alt=''></a><BR>
  3.  


jak widać listowane są również katalogi np drugi link a
Proszę o rade jak zmienić kod aby listowało tylko pliki np .jpg i bez katalogów

Bardzo dziękuje
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
benio101
post
Post #2





Grupa: Zarejestrowani
Postów: 111
Pomógł: 10
Dołączył: 16.07.2009
Skąd: Toruń

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


Sorki, pisałem z palca, zapomniałem o galeria/images/.

@up: Dokładnie, $katalog to uchwyt do pliku (czy coś w tym rodzaju), więc nie jest to łańcuch.
Daj np. $katalog_napis='galeria/images/' i w 4. linii (ifce) podmień $katalog na $katalog_napis

Wtedy zgodność typów zaskoczy i is_file zrozumie, o co się pytasz.
Daj więc coś w deseń:
  1. <?PHP
  2. $katalog_napis='galeria/images/'; // ścieżka do katalogu (folderu)
  3. $katalog = @dir($katalog_napis) or die ("Nie można listować"); // podmieniłem 'galeria/images/' na $katalog_napis, żeby nie dublować wpisu, zgodnie z zasadą DRY
  4. while ($plik = $katalog->read()){
  5. if(is_file($katalog_napis.$plik)){ // i tutaj operacja główna, właściwa -> zamiast tego ala-uchwytu do pliku dałem łańcuch ze ścieżką do folderu ($katalog_napis)
  6. echo "<a href='galeria/images/$plik' rel='lightbox'><img src='galeria/images/$plik' alt=''></a><BR>"; // reszta bez zmian
  7. }
  8. }
  9. $katalog->close();
  10. ?>
Aaa.. i znowu pisałem z palca (IMG:style_emoticons/default/biggrin.gif)
Więc sprawdź porządnie.
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: 12.10.2025 - 15:58