Katalogträdet Exempel Öppna följande länk i en ny flik fönster och du kommer att se ett katalogträd exempel. https://www.cool-mathematics.biz/diagrams/directory-tree.gif I praktiken kan den rekursiva funktionen inte lista alla underkataloger i alla nivåer i ett svep. Jag kommer att använda katalogträdet i det öppnade Tab fönstret för att förklara hur den rekursiva funktionen navigerar katalogträd. Det börjar med att lista alla underkataloger i den översta katalogen, Dir0. Då flyttar till längst till vänster (i bokstavsordning) katalogen, vilket är Dir00.
På Dir00, listas alla underkataloger i Dir00. Det kommer då att flytta till Dir000 katalogen (längst till vänster - alfabetiskt) katalog med hopp om notering eventuella underkataloger där. Det kommer inte att se några underkataloger i Dir000. Det kommer sedan komma tillbaka till Dir00 och gå till Dir001, med hopp om notering eventuella underkataloger i Dir001. Det kommer inte att hitta några underkataloger i D001. Den kommer sedan gå till Dir00. På Dir00 eftersom det har listat alla underkataloger i Dir00, kommer det att gå till Dir0. Från Dir0 det kommer att gå till Dir01.
På Dir01 det kommer att lista alla underkataloger i Dir01. Från Dir01, kommer det att gå till Dir010 med hopp om notering eventuella underkataloger som kan vara där. Det kommer inte att se någon katalogen i Dir010. Det kommer då att gå till Dir01 och sedan Dir011 med hopp om att se några underkataloger där. Det kommer inte att se någon underkatalog där. Det kommer sedan att gå tillbaka till Dir01 och sedan Dir0. På Dir0 nu har det gjort allt sitt arbete, så det slutar. Innan vi skriver funktionen innan vi skriver funktionen, det finns vissa saker att ta hänsyn till.
Vi behöver veta katalogen, om något som är överordnad den översta katalogen. Vi ska använda den för att förhindra att rekursiv funktion från att gå upp förbi den översta katalogen. PHP fullständiga koden skript kommer att vara i den översta katalogen. Funktionen kommer inte bokstav