![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 28.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem w necie skrypt który wyświetla listy plików z określonego katalogu, oto ten skrypt:
Kod <?php $i = 0; $images['file'] = "<img src=\"img/doc.gif\"> "; $images['dir'] = "<img align=\"center\" src=\"img/folder.gif\"> "; function show_dir($directory) { global $i, $images; $dir = opendir($directory); while ( $file = readdir($dir) ) { if ( $file != "." && $file != ".." ) { if ( is_dir($directory."/".$file) ) { echo ( str_repeat(" ", $i * 2) . $images['dir'] . $file . "<br />" ); ++$i; show_dir($directory . "/" . $file); } else { echo ( str_repeat(" ", $i * 3) . $images['file'] . $file . "<br />" ); } } } closedir($dir); --$i; } show_dir("./../../"); ?> Mógłby mi ktoś przerobić ten skrypt tak aby nie był w postaci funkcji a normalnego kodu ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie da się ponieważ potrzeba wykorzystać rekurencję, której nie osiągniesz bez zamyania częci kodu w funkcję.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 28.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jak można by przerobić ten kod aby dał podobny efekt i nie był funkcją ?
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego nie chcesz funkcji? Przeciez to taka sama konstrukcja języka jak inne.
Prośba nie ma sensu, równie dobrze mógłbyś prosić o przerobienie bez wykorzystywania pętli.\ Funkcje to też "normalny" kod. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ale nie rozumiem dlaczego to nie może być funkcja? Czy tak nie jest wygodniej?
@mike gdzie Ty tam widzisz rekurencje? Ten post edytował 1010 28.07.2008, 12:12:37 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ale nie rozumiem dlaczego to nie może być funkcja? Czy tak nie jest wygodniej? @mike gdzie Ty tam widzisz rekurencje? a tutaj slepaku
// Wyrażaj się. // ~webdicepl -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście pyro
![]() ![]() -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 22.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
show_dir($directory . "/" . $file); to jest odwołanie do rekurencji
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Masz bez funkcji, tylko nie narzekaj że z klasami ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie da się ponieważ potrzeba wykorzystać rekurencję, której nie osiągniesz bez zamyania częci kodu w funkcję. a o derekursywacji nikt nie słyszał?O.o Ten post edytował zimi 28.07.2008, 18:04:14 |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~zimi słyszał, słyszał. W o ograniczeniach PHP słyszałeś? Piwo masz ode mnie jak zaimplementujesz to bez rekurencji w PHP.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat("mike") ~zimi słyszał, słyszał. W o ograniczeniach PHP słyszałeś? A można wiedzieć o jakie ograniczenia chodzi? Zaciekawiło mnie to. Do tego stopnia, że postanowiłem napisać listowanie zawartości katalogu iteracyjnie i o dziwo się udało -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
lol, @Kicok odczep się
![]() ![]()
@mike jak już powiesz co to za ograniczenia O.o to wpadnij z browcem na bulwar w Gdyni ![]() edit: jak się napiszę na kilka sposobów będzie cała skrzynka? ![]() Ten post edytował zimi 28.07.2008, 20:08:24 |
|
|
![]()
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~zimi jak napiszesz bez rekurencji coś co przegląda cały folder zagnieżdżając się w dół, czyli zawartość folderów się w nim znajdujących i folderów w tych folderach, itd to wpadnę do Gdyni.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat("mike") Pochwal się.
Proszę. Tablica $directories działa tutaj jak stos ( Nie wiem od której wersji działa "prawdziwy stos" - SPLStack - pewnie 5.3 albo 6.0 ) W sumie zasada działania podobna jak u zimi'ego Ten post edytował Kicok 28.07.2008, 20:46:45 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:11 |