Foros del Web » Programando para Internet » PHP »

Archivos almacenados en un Array

Estas en el tema de Archivos almacenados en un Array en el foro de PHP en Foros del Web. Hola! Estoy buscando una forma de guardar el nombre de todos los archivos de un directorio específico en un Array. El orden en el que ...
  #1 (permalink)  
Antiguo 10/02/2007, 20:19
Avatar de ChocoMan  
Fecha de Ingreso: diciembre-2004
Ubicación: Santa Fe Capital
Mensajes: 68
Antigüedad: 19 años, 4 meses
Puntos: 0
Exclamación Archivos almacenados en un Array

Hola!
Estoy buscando una forma de guardar el nombre de todos los archivos de un directorio específico en un Array. El orden en el que deben ser almacenados en el Array tiene que ser por fecha de modificación (en realidad de creación del archivo en el directorio) el más antigüo debe estar en la posición myarray[0]...

La verdad es que no es necesario conseguir el script completo como lo describo, con un empujoncito me conformo, basta como para que un principiante lo entienda y sepa manejase un poquito para resolverlo...

Si me dan una ayudita les voy a estar muy agradecidos, sería un buen aporte para mis conocimientos, debido a que estoy estudiando un poco más de cerca el lenguaje PHP y un ejemplo de este tipo me serviría para entender más el manejo de Arrays y otras cositas más complejas...

Bueno, no los aburro más, espero puedan ayudarme para seguir avanzando...
Desde ya, les estoy muy agradecidos por su atención!!
  #2 (permalink)  
Antiguo 11/02/2007, 13:33
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Archivos almacenados en un Array

Funciones de Directorio
Funciones de Matrices
Funciones del Sistema de Archivos

Leé esas páginas, principalmente las funciones de directorio.
En la página de funciones de matrices tenés funciones que pueden invertir las entradas de la matriz (dejar la última como primera).

Primero leé, después leé, y cuando te canses de leer, leé


Saludos y suerte
  #3 (permalink)  
Antiguo 12/02/2007, 01:47
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Archivos almacenados en un Array

Bueno mi amigo, aqui te ayudo con el Script :P

Código PHP:
<?
// Ejemplo de Ordenar Archivos segun Fecha de Creacion en una Matriz
// http://deerme.org

$ruta='C:\\Programas\\Internet\\EasyPHP1-8\\www\\aq2chile.cl\\aq2stats\\img\\';

$dir=dir($ruta);    
$i=0;

while (
$elemento $dir->read())
{    
     
// Evitamos el . y ...
    
if ( ($elemento != '.') and ($elemento != '..'))
    {
        
// Guardamos en la Matriz $archivos    el Nombre y Fecha de Creacion
        
$archivos[$i]['nombre']=$elemento;
        
$archivos[$i]['fecha']=filectime($ruta.$elemento);
        
$i++;
    }      
}    

// Luego Ordenamos el Array segun las Fechas
// Creamos funcion de Comparacion de Fechas
function cmp($a$b)
{
   if (
$a['fecha'] == $b['fecha']) {
       return 
0;
   }
   return (
$a['fecha'] < $b['fecha']) ? -1;
}
// Aplicamos la funcion usort y le entregamos el parametro de funcion de compararon
usort($archivos,cmp);

print_r($archivos);

?>
Como puedes ver
- Debemos especificar el Patch en donde vamos a trabajar
- Luego Hacemos un recorrido de los Archivos del Directorio y Obtenemos el Nombre y fecha de Creacion.
- Luego Aplicamos la funcion usort la cual permite ordenar matriz segun una funcion de comparacion entre los valores de la matriz.
- Finalmente despues del Algoritmo hemos creado la Matriz $archivos , con la funcion print_r imprime la estructura de la matriz, y como puedes ver esta ordenada.

Hay ta viejo.

Saludos :)
  #4 (permalink)  
Antiguo 12/02/2007, 18:30
Avatar de ChocoMan  
Fecha de Ingreso: diciembre-2004
Ubicación: Santa Fe Capital
Mensajes: 68
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Archivos almacenados en un Array

Hola!
Gracias por los links y el script. Los links me sirvieron de mucho, me hicieron abrir un poco mas la cabeza y tener ideas mas claras... y el script bienvenido fue asi que mil gracias a los dos.
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 17:46.