Foros del Web » Programando para Internet » PHP »

Ultima Fecha de Modificación de un Archivo

Estas en el tema de Ultima Fecha de Modificación de un Archivo en el foro de PHP en Foros del Web. Hola a todos, espero me puedan ayudar con esto, tengo el siguiente código, el que utilizo para listar los archivos de un directorio y sus ...
  #1 (permalink)  
Antiguo 29/11/2012, 09:50
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Pregunta Ultima Fecha de Modificación de un Archivo

Hola a todos, espero me puedan ayudar con esto, tengo el siguiente código, el que utilizo para listar los archivos de un directorio y sus subdirectorios , me lista los archivos con su respectiva fecha de modificación, hasta aquí todo bien, lo que necesito ahora es si me pueden ayudar para que solo me liste el archivo que tenga la ultima fecha de modificación.

Este es el código
Código PHP:
<?php
function listarArchivos$path )
{
    
$dir opendir($path);
    
$files = array();
    while (
$elemento readdir($dir))
    {
        if( 
$elemento != "." && $elemento != ".." && $elemento != "Thumbs.db")
        {
            if( 
is_dir($path.$elemento) )
                {
                    
listarArchivos$path.$elemento.'/' );
                }
            else
                {
                
$files[] = $elemento;
                }
        }
    }
    for(
$x=0$x<count$files ); $x++)
    {
        
$xfile=$files[$x];
        
$nombre_archivo =($path.$xfile);
        
$listado=$nombre_archivo."-".date ("d m Y H:i:s.", @filemtime($nombre_archivo));
        echo 
$listado;
        echo 
"<BR>";
    }
}
listarArchivos'Sitio/' );// El directorio que revisara 
?>
Desde ya muchas gracias!!!
  #2 (permalink)  
Antiguo 29/11/2012, 10:03
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Ultima Fecha de Modificación de un Archivo

No entiendo bien lo que pides, actualmente te lsita los archivos con su fecha de modificación, y lo que quieres es que te los ordene por fecha?
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 29/11/2012, 10:16
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: Ultima Fecha de Modificación de un Archivo

Lo que haría es insertar la información en un arreglo y luego hacer uso de la función arsort() para presentar la información.

Saludos.
  #4 (permalink)  
Antiguo 29/11/2012, 10:28
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Ultima Fecha de Modificación de un Archivo

Cita:
Iniciado por mauled Ver Mensaje
Lo que haría es insertar la información en un arreglo y luego hacer uso de la función arsort() para presentar la información.

Saludos.
Claramente, si lo que desea es ordenar sus resultados, deberia como bien dices, guardar en un arreglo en vez de imprimir, ordenarlo con la funcion que le resulte mas conveniente y luego recién imprimir. El problema es que no se si eso es lo que realmente quiere, el enunciado no se expresa muy bien.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #5 (permalink)  
Antiguo 29/11/2012, 11:22
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Ultima Fecha de Modificación de un Archivo

Hola Amigos y gracias por responder,
en el código que puse me lista todos los archivos del directorio con su fecha de modificación, lo que yo quiero es que me muestre solo el que tiene la fecha de modificación mas reciente, es decir que si tengo 3 archivos:
Archivo_1 Fecha de modificación 10-11-2012 - Archivo_2 Fecha de modificación 09-11-2012 -Archivo_3 Fecha de modificación 20-11-2012, al ejecutar mi código me me salga algo como:

El ultimo archivo actualizado es: Archivo_3 con Fecha de modificación 20-11-2012

Espero haberme explicado bien en que es lo que necesito.
Gracias.
  #6 (permalink)  
Antiguo 29/11/2012, 11:33
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Ultima Fecha de Modificación de un Archivo

Reitero, vas guardando en un array, lo ordenas y luego retornas la primera posición.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #7 (permalink)  
Antiguo 29/11/2012, 12:13
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Ultima Fecha de Modificación de un Archivo

h2swider, puse los datos en un array como me dices e imprimo el de indice 0, pero me sigue mostrando el listado completo de los archivos.

Código PHP:
<?php
function listarArchivos$path )
{
    
$dir opendir($path);
    
$files = array();
    while (
$elemento readdir($dir))
    {
        if( 
$elemento != "." && $elemento != ".." && $elemento != "Thumbs.db")
        {
            if( 
is_dir($path.$elemento) )
                {
                    
listarArchivos$path.$elemento.'/' );
                }
            else
                {
                
$files[] = $elemento;
                }
        }
    }
    for(
$x=0$x<count$files ); $x++)
    {
        
$xfile=$files[$x];
        
$nombre_archivo =($path.$xfile);
        
$listado =array($listado=$nombre_archivo."-".date ("d m Y H:i:s", @filemtime($nombre_archivo)));
          
sort($listado);
          echo 
$listado[0];
        echo 
"<BR>";
    }
}
listarArchivos'Sitio/' );// El directorio que revisara 
  
?>
  #8 (permalink)  
Antiguo 29/11/2012, 12:41
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Ultima Fecha de Modificación de un Archivo

$listado =array($listado=$nombre_archivo."-".date ("d m Y H:i:s", @filemtime($nombre_archivo)));
Asi no llenas un array :/
Asi no se trabaja con arrays y tienes una asignacion adentro :/

La idea es que ahgas el asort luego de completado el array

Deberias hacer algo como

Código PHP:
Ver original
  1. $listado = array();
  2. for($x=0; $x<count( $files ); $x++)  {
  3.  
  4.   $xfile = $files[$x];
  5.   $nombre_archivo = ($path.$xfile);
  6.   $listado[] = $nombre_archivo."-".date ("d m Y H:i:s", @filemtime($nombre_archivo ) );
  7. }
  8. asort($listado);
  9. echo $listado[0];
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #9 (permalink)  
Antiguo 29/11/2012, 13:23
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 155
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Ultima Fecha de Modificación de un Archivo

h2swider, muchísimas gracias ahí funciono!!!

Etiquetas: fecha, ultimo
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 07:48.