} Hay cuatro segmentos de código en la función recursiva. Para una lista de los subdirectorios de un directorio, este directorio tiene que ser el directorio actual. Leer la función de esquema anterior. El primer segmento de código obtiene los nombres sin los caminos del directorio actual. La primera vez que se invoca la función, el directorio actual es el directorio superior. El segundo segmento de forma las rutas completas de los subdirectorios y los envía a la matriz. El tercer segmento cambia el directorio actual a la de un subdirectorio, que aún no se ha hecho actual.
Se irá a un subdirectorio siguiendo un orden alfabético de los subdirectorios. La función recursiva se llama una y otra; Si en cualquiera de las iteraciones no hay subdirectorio, entonces el tercero segmento de código se omite. Cuando todos los subdirectorios posibles se han hecho corriente en una rama de abajo a la mayor parte del árbol de directorios, la función tiene que moverse hacia arriba; que es la función tiene que hacer el actual directorio padre para que luego puede hacer el siguiente subdirectorio del padre, actual.
El propósito del cuarto segmento de código es mover la función arriba. Si el directorio padre para hacerse actual es llegar a ser el directorio por encima del directorio superior, luego de que por encima de directorio no se hace actual; el cuarto segmento de código se encarga de eso. El Código de función recursiva El segmento de código que muestra los caminos de la matriz para el navegador no es parte de la función recursiva. Se indicará el código de la función recursiva a continuación: Función searchTree () {global de $ aboveDir, $ dirArr; $ CDirArr = scandir (".
"); //obtener la lista de directorios del directorio actual for ($ i = 0; $ i if ((is_file ($ CDirArr [$ i])) || ($ CDirArr [$ i] ==) || ($ CDirArr "." [$ i] == "..")) {array_splice ($ CDirArr, $ i, 1); - $ i;}} //asignar las rutas de directorio sub al siguiente ele