ďťż
Podstrony
|
telcocafeWitam!Moj skrypt <? switch($_GET['sciezka']) { default: $czesci = explode("/", $_SERVER['REQUEST_URI']); if( !in_array("..", $czesci) AND ($_GET['sciezka']!=="../") AND ($_GET['sciezka']!=="./")) { $folder = htmlspecialchars( nl2br( strip_tags( $_GET['sciezka'] ) ) ); echo '<table border="0" cellspacing="1" cellpadding="1" class="wiadomosci">'; echo '<th class="stalynaglowek2">Znajdujesz się w <b>' . $folder . '</b></th><th class="stalynaglowek3">Rozmiar</th><br />'; if($_GET['sciezka']!=="./pliki/") { echo '<tr><td><a href="java script:history.go(-1)"><< wróć</a><br /></td><td>x</td></tr>'; } else { } $dir = dir($folder); $l = $d = array(); while( $file = $dir->read() ) { if( is_dir( $folder . $file ) ) { if( $file != '.' && $file != '..' ) $d[] = '<tr><td>[ <a href="index.php?modul=pliki&sciezka=' . $folder . $file . '/">' . $file . '</a> ]</td><td>< DIR ></td></tr>'; } else { $size=round((filesize($folder.$file)/1024),2); $l[] = '<tr><td><a href="' . $folder . $file . '">' . $file . '</a></td><td>'. $size .' kb</td></tr>'; } } $dir->close(); if( !empty( $d ) ) { sort( $d ); for( $i=0; $i<count($d); $i++ ) echo $d[$i] . "\r\n"; } if( !empty( $l ) ) { sort( $l ); for( $j=0; $j<count($l); $j++ ) echo $l[$j]."\r\n"; } else { //echo('<p class="ok">W katalogu nie ma plików!</p>'); } } else { echo '<p class="no">Nie wybrałeś katalogu!</p><a href="java script:history.go(-1)"><< wróć</a>'; } echo '</table>'; break; } ?> Drukuje mi katalogi, po ktorych kliknięciu wyswietla się ich zawartosc, jeśli jest katalog, można wejść do niego itd ... Moje pytanie: Czy da się ten kod przerobić tak, żeby drukował zawartość mniej więcej w takie postaci: głowny katalog podkatalog plik1 plik2 podkatalog2 podkatalog2.1 podkatalog 2.1.1 plik 2.1.1 ? Owszem,da się. Wystarczy zrobić listening katalogów i po kolei je czytać. Do wypowiedzi andrzej_aa, dodam, że najprościej zastosować tu funkcję rekurencyjną. może jakiś przykład? :) Przykład masz,tylko musisz go przerobić. Przecież nikt nie będzie za Ciebie wszystkiego robił. Jezeli czegoś nie wiesz zawsze mozesz zajrzeć do manuala. Chyba że nie wiesz co to jest funkcja rekurencyjna,ale mam nadzieję,że przeciwnie. |
|||
Sitedesign by AltusUmbrae. |