login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Handige scripts > Mapstructuur weergeven

Mapstructuur weergeven

Auteur: Koen - 07 januari 2009 - 18:12 - Gekeurd door: Stijn - Hits: 4670 - Aantal punten: (0 stemmen)




Met behulp van deze functies kan je de mapstructuur van een bepaalde map in een array steken, en daarna eventueel weergeven in een overzichtelijke structuur.

(Werkt recursief)

Veel plezier 

Code:
  1. <?php
  2. /**
  3. * Function viewDir()
  4. * Create the array which will contain the list of all the directories/files in the specified directory.
  5. *
  6. * @author Koen <koen@sitemasters.be>
  7. * @version 1.1
  8. *
  9. * @param string $sDir Name of the directory, eg: images
  10. * @param array $aExclude array containing the elements to be excluded eg: array('.', '..')
  11. *
  12. * Return values:
  13. * false on failure
  14. * array containing the list of the directories/files.
  15. *
  16. * Function makeTree()
  17. * Generates the treeview with the array created by "viewDir()"
  18. *
  19. * @author Koen <koen@sitemasters.be>
  20. * @version 1.0
  21. *
  22. * @param array $aDir output of "viewDir()" function
  23. * @param int $iCurrent current margin-left [optional, default: 0]
  24. *
  25. * Return values:
  26. * false on failure
  27. * ready-to-use treeview!
  28. *
  29. */
  30. function viewDir($sDir, & $aExclude)
  31. {
  32. if(!is_dir($sDir))
  33. {
  34. return false;
  35. }
  36. $aList = scandir($sDir);
  37. $aReturn = array();
  38. foreach($aList as $iKey => $sValue)
  39. {
  40. if(!in_array($sValue, $aExclude))
  41. {
  42. if(is_dir($sDir.'/'.$sValue))
  43. {
  44. $aReturn[$sValue] = viewDir($sDir.'/'.$sValue, $aExclude);
  45. } else
  46. {
  47. $aReturn[] = $sValue;
  48. }
  49. }
  50. }
  51. return $aReturn;
  52. }
  53. function makeTree($aDir, $iCurrent = 0)
  54. {
  55. $iExpandBy = 20;
  56. $sReturn = '';
  57. if(!is_array($aDir))
  58. {
  59. return false;
  60. }
  61. foreach($aDir as $iKey => $sValue)
  62. {
  63. $sCurrentPX = $iCurrent .'px';
  64. if(is_array($sValue))
  65. {
  66. $iNewCurrent = $iCurrent + $iExpandBy;
  67. $sReturn .= '<span style="margin-left: '.$sCurrentPX.';">'.$iKey.'</span><br />'."\n";
  68. $sReturn .= makeTree($sValue, $iNewCurrent);
  69. } else
  70. {
  71. $sReturn .= '<span style="margin-left: '.$sCurrentPX.';">'.$sValue.'</span><br />'."\n";
  72. }
  73. }
  74. return $sReturn;
  75. }
  76.  
  77. // example of usage:
  78. $aExclude = array('.', '..');
  79. $aDir = viewDir('dir', $aExclude);
  80. echo makeTree($aDir);
  81. ?>

Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (1)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.023s