Foros del Web » Programando para Internet » PHP »

ordenar lista de carpetas

Estas en el tema de ordenar lista de carpetas en el foro de PHP en Foros del Web. hola ke tal bueno me pregunto si me prodrian ayudar con este asunto tengo un script para hacer un listado de las carpetas el script ...
  #1 (permalink)  
Antiguo 25/07/2009, 15:46
 
Fecha de Ingreso: julio-2009
Ubicación: Callao
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
ordenar lista de carpetas

hola ke tal

bueno me pregunto si me prodrian ayudar con este asunto
tengo un script para hacer un listado de las carpetas
el script funciona pero el problema es ke no ordena las carpetas en orden alfabetico que es lo que necesito

alguien sabe alguna forma de hacer esto posible
gracias de antemano

Código PHP:
<?php
echo "<h3>Index</h3>\n";
echo 
"<table>\n";
$directorio opendir(".");
while (
$archivo readdir($directorio))
   {
   
$nombreArch ucwords($archivo);
   
$nombreArch str_replace("..""Atras"$nombreArch);
   echo 
"<tr>\n<td>\n<a href='$archivo'>\n";
   echo 
"<img src='./imagenes/carpeta.png' alt='Ver $nombreArch'";
   echo 
" border=0>\n";
   echo 
"<b>&nbsp;$nombreArch</b></a></td>\n";
   echo 
"\n</tr>\n";
   }
closedir($directorio); 
echo 
"</table>\n";
?>
  #2 (permalink)  
Antiguo 25/07/2009, 19:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ordenar lista de carpetas

Necesitas hacer el ciclo (readfile) para leer todas las carpetas (y archivos) en una matriz, despues la ordena con sort() y, finalmente, haces otro ciclo (foreach) para crear el listado.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 27/07/2009, 21:33
 
Fecha de Ingreso: julio-2009
Ubicación: Callao
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ordenar lista de carpetas

pero no entiendo yo soy nuevo en el php

como pasaria los valores que podria tomar $archivo a un matriz??
  #4 (permalink)  
Antiguo 27/07/2009, 23:09
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ordenar lista de carpetas

Código php:
Ver original
  1. // Inicializas
  2. $archivos = array();
  3.  
  4. // Llenas
  5. while(condicion del readfile)  {
  6.     $archivos[] = $archivo;
  7. }
  8.  
  9. // Ordenas
  10. sort($archivos);
  11.  
  12. // Creas tu tabla
  13. foreach($archivos as $archivo) {
  14.     // Aqui pegas el codigo que actualmente tienes en tu while
  15. }
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 27/07/2009, 23:17
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: ordenar lista de carpetas

no faltaria ademas de sort, la funcion reset() ?
  #6 (permalink)  
Antiguo 27/07/2009, 23:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: ordenar lista de carpetas

Cita:
Iniciado por AlvaroX Ver Mensaje
no faltaria ademas de sort, la funcion reset() ?
No porque el sort coloca el puntero al principio cuando termina de organizarlo. Mira este ejemplo, aunque puedes seguir usando varios foreach con el mismo array y continua viendo la informacion al principio.
Código php:
Ver original
  1. $a = array(1,5,8,9,6,7,3,4,2);
  2. foreach($a as $v){
  3.     echo $v."<br />";
  4. }
  5. sort($a);
  6. foreach($a as $v){
  7.     echo $v."<br />";
  8. }

Última edición por abimaelrc; 27/07/2009 a las 23:27
  #7 (permalink)  
Antiguo 27/07/2009, 23:45
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ordenar lista de carpetas

Cita:
Iniciado por AlvaroX
no faltaria ademas de sort, la funcion reset() ?
Segun el manual de PHP para reset(), este lo necesitarias solo en casos de recorrer la matriz con next(), prev(), current(), entre otros, ademas de:

Cita:
Iniciado por PHP manual foreach()
Note: When foreach first starts executing, the internal array pointer is automatically reset to the first element of the array. This means that you do not need to call reset() before a foreach loop.
Mas informacion en el manual de PHP para foreach()
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:10.