![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Witam
Za własną potrzebą postanowiłem napisać kod który wyświetli mi wszystkie pliki i katalogi:
Funkcja spełnia swoje zadanie ale wyświetla wszystko jak leci w nieuporządkowanej kolejności. Jak zmodyfikować kod aby działa coś w sposób drzewka tj. Sortuje Katalogi i pliku (pierwsze są katalogi następnie pliki) jeśli w katalogu są inne katalogi i pliki robi to samo ale np o jeden tabulator do przodu. Przykład: Kod -Katalog1 ---plik1 ---plik2 -Katalog2 ---Katalog2.1 ------plik1 ------plik2 ---Katalog2.2 ------Katalog2.2.1 ---------plik1 ------Katalog2.2.2 ------Katalog2.2.3 ---------plik1 ---Katalog2.3 -Katalog3 -plik1 -plik2 -plik3 byłbym wielce wdzięczny za pomoc pozdrawiam Chmura |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
Skoro sam to napisałeś to powinieneś poradzić sobie z przerobieniem readdir() na scandir()
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Gitara, jak na moje jest pierwsza klasa. Dzięki za pomoc.
PS. Ja zastosowałem <lu><li></li></lu> bo nie potrafiłem inaczej "tabulować" jest jakieś inne rozwiązanie? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Po 1 to nie jest pierwsza klasa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Po 2 mogłeś dać np. , ale po co, w <li><ul> jest to dobrze zrobione (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
czemu nie jest pierwsza klasa?
nie mogłem dać ponieważ dziwne rzeczy się robią, nie mam głowy żeby to opisać, śmiało możesz sprawdzić chociaż w skrócie robią się takie złe rzeczy ze pliki/katalogi w tym samym katalogu także co są przesuwane. Edit Przepraszam, tak sie daje jeśli robie:
w/w przypadku wszystko jest po prostu przesunięte o spacje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował b_chmura 21.10.2007, 16:19:38 |
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Skoro jesteśmy w takim fajnym temcie, to może ja przedstawię moją klasę do obslugi drzewek katalogów + cachuje do pliku zserializowaną tablicę, do użycia przy __autoload().
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
@b_chmura
Wg mnie Twoja funkcja posiada jedną znaczącą wadę: nie zwraca danych, a je od razu wypisuje na ekran. Funkcja ta powinna raczej zwrócić tablicę zawierającą wszystkie elementy z danego katalogu; każdy katalog powinien posiadać tablicę plików w nim się znajdujących. Ponadto dobrze by było najpierw zapisywać w tablicy katalogi (posortowane), a po nich pliki (również posortowane), a nie wszystko na raz. @matix Z wcięciami to ładnie pojechałeś (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
@b_chmura Wg mnie Twoja funkcja posiada jedną znaczącą wadę: nie zwraca danych, a je od razu wypisuje na ekran. Funkcja ta powinna raczej zwrócić tablicę zawierającą wszystkie elementy z danego katalogu; każdy katalog powinien posiadać tablicę plików w nim się znajdujących. Ponadto dobrze by było najpierw zapisywać w tablicy katalogi (posortowane), a po nich pliki (również posortowane), a nie wszystko na raz. czasem samo scandir() nie działa w ten sposób? w zamiarze miałem wyświetlić wszystko, jednak mógłbyś przybliżyć mi swój pomysł? @matix - ja i klasy... nie rozumiem tego:D |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Cytat No właśnie sęk w tym, że nie. Wyświetla wszystko za jednym zamachem (i pliki i katalogi). Już jest:
$chdir jest na potrzeby własne Mam do was małą prośbę, nie potrafię sobie poradzić z unikalnym ID. Na razie robię to w dość nie przyzwoity sposób a zależałoby mi by wyglądało to mniej więcej w ten sposób: pierwsze katalogi są numerowane od 1 wzwyż podrzędne odziedziczają numer po nadrzędnym katalogu + są także numerowane od jeden wzwyż i tak aż do ostatniego katalogu. Byłby ktoś wstanie wskazać mi jak to zrobić? ja naprawdę próbowałem już wszystkiego (dwie godziny nie moje) Przykład: Kod - katalog 1 - katalog 2 ---- katalog 2.1 ---- katalog 2.2 ---- katalog 2.3 -------- katalog 2.3.1 itd Dotychczasowy kod:
i na sam koniec mi sie przypomniało, nie mogę sobie również poradzić z polskimi znakami w url'u (pokazują mi sie znaki zapytania) próbowałem użyć urlencode ale kod sie dziwnie zachowuje i tak jakby nie widział tej funkcji (nie reaguje na nią...) Pozdrawiam EDIT: Przykład działania: http://www.informel.pl/~bchmura/cos.php EDIT: Te cyferki to numer ID Ten post edytował b_chmura 22.10.2007, 23:41:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 00:11 |