Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> listowanie katalogów
-żaba-
post
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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
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
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())
Go to the top of the page
+Quote Post
-żaba-
post
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
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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
-żaba-
post
Post #7





Goście







no ok, teraz działa (IMG:http://forum.php.pl/style_emoticons/default/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
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
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
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
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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
-żaba-
post
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
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ę.
Go to the top of the page
+Quote Post
-żaba-
post
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Fipaj
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 07:18