Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> listowanie katalogów
-żaba-
post 13.03.2006, 14:21:59
Post #1





Goście







witam

z poniższego skryptu kiedys korzystałem i wyswietlał mi dobrze (tam gdzie katalog pisalo obok katalog a tam gdzie nie... to nie smile.gif ) No i teraz wrzuciłem go spowrotem (ale na inny serwer) i wszystkie katalogi wy¶wietla jako NIE katalog :/

czemu tak ?

  1. <?php
  2. if($szKatalog = opendir('../galerie/.'))
  3. {
  4. // Wylistowanie elementow katalogu
  5. while(($szElementKatalogu = @readdir($szKatalog)) != false)
  6.  
  7. if(is_dir($szElementKatalogu)=="1") {
  8. echo "$szElementKatalogu - KATALOG<br />";
  9. }
  10. else
  11. {
  12. echo "$szElementKatalogu NIE katalog <br />";
  13. }
  14.  
  15.  
  16. }
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
Fipaj
post 13.03.2006, 14:38:09
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


bool is_dir ()
czyli:
if (is_dir ($szElementKatalogu)) { ... }

i zapoznaj się z funkcją scandir" title="Zobacz w manualu php" target="_manual (wprowadzoną w PHP5).


--------------------
Go to the top of the page
+Quote Post
-Gość_zaba-
post 13.03.2006, 14:41:17
Post #3





Goście







próbowalem bez tegp "=="1" " ale niestety to samo :/

nie moge korzystac z php5
Go to the top of the page
+Quote Post
kszychu
post 13.03.2006, 14:46:59
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


usun @ sprzed readdir(). Może zwróci Ci jakieś błędy. i naprawdę wystarczy samo if(is_dir())


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
-żaba-
post 13.03.2006, 15:02:41
Post #5





Goście







nie zwraca żadnego błędu

a tak wyświetla mi katalogi (między nimi wrzuciłem też plik style.css i też mówi że to nie katalog)

Kod
. - KATALOG
.. - KATALOG
2004_11_10_tyvhy NIE katalog
2004_08_wroclaw NIE katalog
2006_02_10_tychy NIE katalog
2005_05_21_szczyrk NIE katalog
2003_jaworzno NIE katalog
2004_07_jastrzebie NIE katalog
2004_01_jaworzno NIE katalog
2004_03_czechowice NIE katalog
2004_01_20_kato NIE katalog
2004_01_krk NIE katalog
2006_01_07_wosp NIE katalog
2004_02_06_krk NIE katalog
2004_11_zory NIE katalog
style.css NIE katalog
2004_07_02_zory NIE katalog
2005_04_30_wegierska_gorka NIE katalog
2004_03_20_pszczyna NIE katalog
2005_07_03_pszczyna NIE katalog
Go to the top of the page
+Quote Post
Fipaj
post 13.03.2006, 15:24:03
Post #6





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


  1. <?php
  2. if($szKatalog = opendir('../galerie/.'))
  3. {
  4. // Wylistowanie elementow katalogu
  5. while(($szElementKatalogu = @readdir($szKatalog)) != false)
  6.  
  7. if(is_dir('../galerie/' . $szElementKatalogu)=="1") {
  8. echo "$szElementKatalogu - KATALOG<br />";
  9. }
  10. else
  11. {
  12. echo "$szElementKatalogu NIE katalog <br />";
  13. }
  14.  
  15.  
  16. }
  17. ?>


hehe, miałem kiedyś taki sam błąd biggrin.gif


--------------------
Go to the top of the page
+Quote Post
-żaba-
post 13.03.2006, 15:58:10
Post #7





Goście







no ok, teraz działa smile.gif

tylko mam takie jedno pytanko jeszcze :/ czemu to mi wyświetla te katalogi jakoś tak dziwnie listując ? :/ chyba powinno być alfabetycznie a nie jest :/
Go to the top of the page
+Quote Post
Fipaj
post 13.03.2006, 16:02:08
Post #8





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


Dlaczego sądzisz, że powinno być automatycznie? ;-)

zobacz sortowanie tablic w php.


--------------------
Go to the top of the page
+Quote Post
-żaba-
post 13.03.2006, 17:16:34
Post #9





Goście







no dobra, troche poczytałem o tym sortowaniu i wiem, że trzeba by było użyć funkcji sort(); (bo to ona sortuje w kolejności alfabetycznej)... tylko gdzi i jak ? :| Próbowałem różnych kombinacji ale ciągle nie wychodziło :/
Go to the top of the page
+Quote Post
Fipaj
post 13.03.2006, 17:20:16
Post #10





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


najpierw otwierasz katalog i czytasz elementy. masz już tablicę z katalogami i plikami.

sortujesz tablicę funkcją sort().

bierzesz tablicę w foreach i wyświetlasz...


--------------------
Go to the top of the page
+Quote Post
NetJaro
post 13.03.2006, 17:28:02
Post #11





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


A może zainteresujecie się funkcją glob" title="Zobacz w manualu php" target="_manual - o wiele łatwiejsze niż inne sposoby operacji na katalogach winksmiley.jpg
Go to the top of the page
+Quote Post
-żaba-
post 14.03.2006, 10:35:49
Post #12





Goście







kurcze :/ chyba sam sobie z tym nie poradzę :/

próbowałem tak, ale wyskakuje błąd :/

  1. <?php
  2.  
  3. if($szKatalog = opendir('../galerie/.'))
  4. {
  5. sort($szKatalog);
  6. // Wylistowanie elementow katalogu
  7. while(($szElementKatalogu = readdir($szKatalog)) != false)
  8.  
  9. if(!is_dir('../galerie/' . $szElementKatalogu) || $szElementKatalogu == ".." || $szElementKatalogu == ".") {
  10.  
  11. }
  12. else
  13. {
  14.  echo "$szElementKatalogu<br />";
  15. }
  16.  
  17.  
  18. }
  19.  
  20. ?>
Go to the top of the page
+Quote Post
kszychu
post 14.03.2006, 10:39:28
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


W pętli while przypisz nazwy katalogów do tablicy, posortuj i dopiero jakimś foreach wyświetl sobie tę tablicę.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
-żaba-
post 14.03.2006, 14:00:37
Post #14





Goście







no dobra, znalazłem wszystko na temat pętli foreach (z samym posortoesanirm też chyba sobie dam radę) ale możesz mi powiedzieć jak nazwy katalogów przypisać do tablicy questionmark.gif
Go to the top of the page
+Quote Post
Fipaj
post 14.03.2006, 14:03:26
Post #15





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


glob" title="Zobacz w manualu php" target="_manual bądź scandir" title="Zobacz w manualu php" target="_manual ;-)

albo robisz tak jak powiedział kszychu:

  1. <?php
  2. while (...) {
  3. $pliki[] = $szKatalog;
  4. }
  5. ?>


Ten post edytował Fipaj 14.03.2006, 14:05:11


--------------------
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: 14.08.2025 - 00:50