Foros del Web » Programando para Internet » PHP »

orden en acceso a archivos

Estas en el tema de orden en acceso a archivos en el foro de PHP en Foros del Web. Hola. Necesito acceder a los archivos de un directorio ordenados por el nombre del archivo. Actualmente gasto esto: $ruta = "/directorio/"; if ($gestor = opendir($ruta)) ...
  #1 (permalink)  
Antiguo 20/06/2006, 06:12
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 21 años, 3 meses
Puntos: 0
orden en acceso a archivos

Hola.
Necesito acceder a los archivos de un directorio ordenados por el nombre del archivo.

Actualmente gasto esto:
$ruta = "/directorio/";
if ($gestor = opendir($ruta)) {
$i=0;
while (false !== ($archivo1 = readdir($gestor))) {
// instruccciones...
}

pero no consigo que acceda a los archivos ordenados alfabeticamente. Esto lo necesito porque tengo que hacer primero unas instrucciones sobre unos archivos y despues sobre los otros... sino no puedo hacer lo que necesito.

Se puede hacer esto?

Saludos
  #2 (permalink)  
Antiguo 20/06/2006, 06:45
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 23 años
Puntos: 3
Por lo que veo en tu código la funcion de leer directorio te retorna una matriz, y para ordenar las matrices alfabeticamente tienes que usar asort.

Algo asi :
Código PHP:
if ($gestor asort(opendir($ruta))) { 
Aunque supongo que lo más sencillo es crearte una base de datos sencilla en la que metes todos los nombres de los ficheros, luego le pides la lista ordenada a SQL / MySql.
__________________
Pancho - Consultor de usabilidad
  #3 (permalink)  
Antiguo 20/06/2006, 08:27
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 21 años, 3 meses
Puntos: 0
muy bueno... funciono
Gracias!!
  #4 (permalink)  
Antiguo 20/06/2006, 09:02
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 21 años, 3 meses
Puntos: 0
pues... me precipite.. creia que funcionaria, pero no..
con gettype($gestor) me retorna resource. con assort no puedo ordenarlo.

ups
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 14:42.