Dificultades
El mayor problema con la versión HTML es el de conectar los gráficos de tal manera que no aparezcan espacios entre ellos (ver Figura 2). Los atributos cellspacing=0, cellpadding=0 y border=0 en la etiqueta <table> eliminan los huecos entre las celdas de la tabla; por otra parte, el align=absmiddle en las etiquetas <img> hace que los gráficos se alineen en el centro de sus celdas. Los gráficos de las ramas deben estar un poco por encima de la altura máxima del texto. De esta manera, el árbol debería mostrarse sin agujeros en LA MAYORÍA de los navegadores (ver Figura 3). Si no es así, vale la pena tratar de aumentar el tamaño de los gráficos. También existe siempre la posibilidad de salpimentar el adusto HTML con una pizca de JavaScript.
Al lanzar el script, es posible que la apariencia del árbol no sea completamente regular si en su estructura existen directorios vacíos. Esto se debe a la manera en que ejecutamos el script: no revisamos si el directorio que queremos visualizar no está por casualidad vacío. Considero este defecto aceptable, pues de lo contrario haría falta siempre abrir el directorio para lectura, leer su contenido y comprobar si hay algo en él – operaciones que ocupan todas demasiado tiempo. Corregir este problema valdría la pena en casos en que sea necesario distinguir entre aquellos directorios que son considerados vacíos por contener exclusivamente subdirectorios (sin archivos), y los que no contienen absolutamente nada (que no deberían aparecer en el mapa del sitio).
Un último consejo: si surgen problemas durante el lanzamiento del script (o si el script se niega de plano a funcionar), revisad si el servidor web que estáis usando está configurado con soporte para variables globales (que son todas las que van escritas en VERSALITAS, o todas en mayúsculas), para lo cual puede resultar útil el código del listado 12.
Listado 12: Comprobación de soporte de variables globales
<?php
echo „$REQUEST_URI<br>“;
echo „$SERVER_NAME<br>“;
echo „$PHP_SELF<br>“;
?>
Si nos aparece en pantalla una cadena ruta/enlace errónea, querrá decir que los valores de $prefix, $dir1 y $files[$y] no son correctos, y precisamente éstos elementos componen el enlace.