Peuplarchie Posted April 13, 2009 Share Posted April 13, 2009 Good day to you all, working on listing a directory the way I want, I'm trying that for each level of file there is a number of spaces in front of the file and/or folder of that level. EX : Folder 1 --Folder 2 --Image 1 --Image 2 --Image 3 Image 1 Image 2 How can I add that spacing on each level ? Here is my code : <?php $directory = "Art/"; function dirList ($directory) { //create 2 arrays - one for folders and one for files $folders = array(); $files = array(); // create a handler for the directory $handler = opendir($directory); // keep going until all files in directory have been read while (false !== ($file = readdir($handler))) { // if $file isn't this directory or its parent, // add it to the results array if ($file != '.' && $file != '..') // If file is directory, mark it in bold. if(is_dir($directory.$file)) { array_push($folders,$file); // Else not styled }else{ array_push($files,$file); } } // tidy up: close the handler closedir($handler); foreach($folders as $folder) { echo "<strong>".$folder."</strong> <a href=\"javascript:show('".$folder."');\">Show</a>- <a href=\"javascript:hide('".$folder."');\">Hide</a><br />"; echo "<div id=\"".$folder."\">"; dirList($directory.$folder.'/'); echo "<br/><br/></div>"; } foreach($files as $file) { echo $file."<br />"; } } dirList($directory); ?> Thanks ! Link to comment https://forums.phpfreaks.com/topic/153872-spaces-to-display-levels-in-dir-structure-list/ Share on other sites More sharing options...
rhodesa Posted April 13, 2009 Share Posted April 13, 2009 pass a level along with the function and increment it recursively: <?php $directory = "./"; function dirList($directory,$level = 0) { //create 2 arrays - one for folders and one for files $folders = array (); $files = array (); // create a handler for the directory $handler = opendir($directory); // keep going until all files in directory have been read while (false !== ($file = readdir($handler))) { // if $file isn't this directory or its parent, // add it to the results array if ($file != '.' && $file != '..') // If file is directory, mark it in bold. if (is_dir($directory . $file)) { array_push($folders, $file); // Else not styled } else { array_push($files, $file); } } // tidy up: close the handler closedir($handler); foreach ($folders as $folder) { echo "<strong>" . str_repeat('--',$level) . $folder . "</strong> <a href=\"javascript:show('" . $folder . "');\">Show</a>- <a href=\"javascript:hide('" . $folder . "');\">Hide</a><br />"; echo "<div id=\"" . $folder . "\">"; dirList($directory . $folder . '/',$level + 1); echo "<br/><br/></div>"; } foreach ($files as $file) { echo str_repeat('--',$level) . $file . "<br />"; } } dirList($directory); ?> Link to comment https://forums.phpfreaks.com/topic/153872-spaces-to-display-levels-in-dir-structure-list/#findComment-808711 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.