Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
download
/
CHESS_2022
:
tree01.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Recovers folder structure and files of a certain path * * @param string $path Folder where files are located * @param string $pattern Filter by extension * @param string $flags Flags to be passed to the glob * @return array Folder structure */ function getFolderTree($path) { //Recovers files and directories $paths = glob($path . "*", GLOB_MARK | GLOB_ONLYDIR | GLOB_NOSORT); $files = glob($path . "*"); //Traverses the directories found foreach ($paths as $key => $path) { //Create directory if exists //$directory = explode("\\", $path); $directory = explode("\\", $path); unset($directory[count($directory) - 1]); $directories[end($directory)] = getFolderTree($path); //Verify if exists files foreach ($files as $file) { if (strpos(substr($file, 2), ".") !== false) $directories[] = substr($file, (strrpos($file, "\\") + 1)); } } //Return the directories if (isset($directories)) { return $directories; } //Returns the last level of folder else { $files2return = Array(); foreach ($files as $key => $file) $files2return[] = substr($file, (strrpos($file, "\\") + 1)); return $files2return; } } /** * Creates the HTML for the tree * * @param array $directory Array containing the folder structure * @return string HTML */ function createTree($directory) { $html = "<ul>"; foreach($directory as $keyDirectory => $eachDirectory) { if(is_array($eachDirectory)) { $html .= "<li class='closed'><span class='folder'>" . $keyDirectory . "</span>"; $html .= createTree($eachDirectory); $html .= "</li>"; } else { $html .= "<li><span class='file'>" . $eachDirectory . "</span></li>"; } } $html .= "</ul>"; return $html; } //Create output //$directory = getFolderTree('..\temp'); //$htmlTree = createTree($directory["temp"]); $directory = getFolderTree('Utilisateurs'); $htmlTree = createTree($directory["Utilisateurs"]); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> <title>PHP Directories</title> <link rel="stylesheet" href="http://jquery.bassistance.de/treeview/jquery.treeview.css" /> <link rel="stylesheet" href="http://jquery.bassistance.de/treeview/demo/screen.css" /> <script src="http://jquery.bassistance.de/treeview/lib/jquery.js" type="text/javascript"></script> <script src="http://jquery.bassistance.de/treeview/lib/jquery.cookie.js" type="text/javascript"></script> <script src="http://jquery.bassistance.de/treeview/jquery.treeview.js" type="text/javascript"></script> <script type="text/javascript" src="http://jquery.bassistance.de/treeview/demo/demo.js"></script> </head> <body> <div id="main"> <ul id="browser" class="filetree"> <?php echo $htmlTree;?> </ul> </div> </body> </html>