No se si a ti te ocurre la mismo, pero cuando bajo un nivel no me permite ir al nivel principal. Sin embargo, cuando bajo dos niveles si me deja ir al nivel anterior.
Si desde el navegador lo miro me aparece asi:
Si la parte del "Go back" la reemplazo por esto:
echo isset($newPath) ?
($newPath == '' ?
'' : '<a href="?move=' . $back_dir . '">Go Back</a><br>') : '';
Si sube el nivel, pero da un error
Lo intentaría solucionar pero es que no entiendo muy bien lo de "levels". Creo que lo que hace es contar el numero de directorios que hay usando como separador \ o /
Vale, creo que ya se por que es. Como estoy en Windows seguramente también cuenta la letra de mi unidad, es decir, en Linux empezaría a contar después de la raíz y en Windows desde la letra.
C:\nivel1\nivel2\nivel3 --> Aquí lo contaría como 4
/nivel1/nivel2/nivel3 --> Aquí lo contaría como 3