Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2011, 09:49
Avatar de Dragon_Mandarin
Dragon_Mandarin
 
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 1 mes
Puntos: 14
Pregunta Listar directorios en doscolumnas

Estimados, a ver si me pueden ayudar con lo siguiente. En mi servidor de prueba tengo una cantidad apreciable de sitios de clientes, algunos pocos de recursos y de experimentación. Bueno, el scroll hacia abajo ya se convirtió hace rato en algo desagradable. Y, por lo mismo, pensé si acaso lo mejor es listar los directorios o carpetas en columnas, dos, por ejemplo. Bueno, alguien podrá decir que vaya borrando .. y claro, si lo he hecho, pero los que tengo (mejor ni digo la cifra) los necesito donde están, en el server de prueba (Appserver).

Tengo este código:

Código PHP:
Ver original
  1. <?php
  2. //Establezco el numero de columnas
  3. $columns = 2;
  4. echo "<table width='100%' align='center' border='1' cellpadding='3' cellspacing='3'>";
  5. $directorio = opendir(".");
  6. while ($archivo = readdir($directorio))
  7.    {
  8.    $nombreArch = ucwords($archivo);
  9.    $nombreArch = str_replace("..", "Atras", $nombreArch);
  10. for($i = 0; $i < $directorio; $i++) {
  11.       if($i % $columns == 0) {
  12. //SI NO HAY RESTO SIGNIFICA QUE INICIAMOS UNA NUEVA FILA
  13.     echo "<tr>";
  14. }
  15.     echo "<td width='15%' valign='top'>";
  16.     echo "<a href='$archivo'>";
  17.     echo "<img src='./appserv/dir.png' alt='Ver $nombreArch'";
  18.     echo " border=0>";
  19.     echo "<b>&nbsp;$nombreArch</b></a>
  20.     </td>";
  21.       if(($i % $columns) == ($columns - 1) || ($i + 1) == $directorio) {
  22.             //SI EL RESTO ES UNO
  23.             //O SI NO HAY NADA MAS A LA IZQUIERDA
  24.             //ES EL FINAL DE LA TABLA
  25.             echo "</TR>";
  26.         }
  27.     }
  28. }
  29. closedir($directorio);
  30. echo "</table>";
  31. ?>

El problema que estoy enfrentando es que, en efecto, me muestra dos columnas, pero en vez de que las carpetas continúen desplegándose en la columna siguiente (a mano derecha), me replica el mismo listado de a mano izquierda. ¿Qué estoy haciendo mal?

Ojalá alguien pueda ayudarme con esto, que para mi no es tema menor.

Muchísimas gracias de antemano!