Foros del Web » Programando para Internet » PHP »

Últimos archivos subidos

Estas en el tema de Últimos archivos subidos en el foro de PHP en Foros del Web. Hola foreros del web. Necesito que me respondan una pregunta. ¿Cómo hago para mostrar mediante lenguaje PHP los 10 últimos archivos subidos de una carpeta? ...
  #1 (permalink)  
Antiguo 01/05/2009, 21:03
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Últimos archivos subidos

Hola foreros del web.
Necesito que me respondan una pregunta.

¿Cómo hago para mostrar mediante lenguaje PHP los 10 últimos archivos subidos de una carpeta?

Muchas gracias
  #2 (permalink)  
Antiguo 01/05/2009, 22:07
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Últimos archivos subidos

Código php:
Ver original
  1. <?php
  2. // imprime, p.ej. un_archivo.txt fue modificado: December 29 2002 22:16:23.
  3.  
  4. $nombre_archivo = 'un_archivo.txt';
  5. if (file_exists($nombre_archivo)) {
  6.     echo "$nombre_archivo fue modificado: " . date ("F d Y H:i:s.", filemtime($nombre_archivo));
  7. }
  8. ?>
Enlace

Solo ordenalos por fechas ;D
  #3 (permalink)  
Antiguo 02/05/2009, 00:06
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Últimos archivos subidos

Hola RMB09!
aqui arme una funcion en donde solo modificas los parametros
$path y $limite
$pat es el directorio
$limite es la cantidad de archivos que quieres que te liste

por defecto está ordenado por archivo modificado mas recientemente.
Se pueden hacer muchos retoques.
Espero haber ayudado, obviamente espero que te sirva.
Saludos


<?php
function leerDir($path,$limite){
if(is_dir($path)){
if ($gestor = opendir($path)) {
$i=1;
while (false !== ($archivo = readdir($gestor))) {
if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){
// listar archivos
print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";
$i++;
}//end if
}//end while
closedir($gestor);
}else{
print "Error: El directorio no pudo ser abierto";

}//end if
}else{
print "Error: no es un directorio";
}//end if
}//end leerDir(param)


//ejemplo:
$dr = "_pru";
$lmt=10;
leerDir($dr,$lmt);
?>
  #4 (permalink)  
Antiguo 02/05/2009, 08:28
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Últimos archivos subidos

Cita:
Iniciado por gabrielc200 Ver Mensaje
Hola RMB09!
aqui arme una funcion en donde solo modificas los parametros
$path y $limite
$pat es el directorio
$limite es la cantidad de archivos que quieres que te liste

por defecto está ordenado por archivo modificado mas recientemente.
Se pueden hacer muchos retoques.
Espero haber ayudado, obviamente espero que te sirva.
Saludos


<?php
function leerDir($path,$limite){
if(is_dir($path)){
if ($gestor = opendir($path)) {
$i=1;
while (false !== ($archivo = readdir($gestor))) {
if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){
// listar archivos
print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";
$i++;
}//end if
}//end while
closedir($gestor);
}else{
print "Error: El directorio no pudo ser abierto";

}//end if
}else{
print "Error: no es un directorio";
}//end if
}//end leerDir(param)


//ejemplo:
$dr = "_pru";
$lmt=10;
leerDir($dr,$lmt);
?>
Muchas gracias a los dos, pero me quedo con la respuesta de gabriel.

Muchas gracias gabriel! y bienvenido!

EDITO:
No funciona =S, primero que no se modificarlo y segundo dice:
Error: no es un directorio

Última edición por MRB09; 02/05/2009 a las 08:39
  #5 (permalink)  
Antiguo 02/05/2009, 10:20
Avatar de Distriker  
Fecha de Ingreso: marzo-2008
Ubicación: Las Palmas De Gran Canarias
Mensajes: 924
Antigüedad: 16 años, 1 mes
Puntos: 23
Respuesta: Últimos archivos subidos

¿El qué no sabes modificar? ¿Lo de poner el directorio?

Saludos

P.D. No se mucho PHP pero creo que puedo ayudar en algo.
__________________
Si no te quejas, nunca conseguiras nada, pero si te quejas siempre lo perderás todo.
Una mala acción da fruto a un mal Karma.
  #6 (permalink)  
Antiguo 02/05/2009, 10:23
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Últimos archivos subidos

Cita:
Iniciado por Distriker Ver Mensaje
¿El qué no sabes modificar? ¿Lo de poner el directorio?

Saludos

P.D. No se mucho PHP pero creo que puedo ayudar en algo.
Gracias por responder dis! te va karma jeje =P

Cita:
<?php
function leerDir($path,$limite){
if(is_dir($path)){
if ($gestor = opendir($path)) {
$i=1;
while (false !== ($archivo = readdir($gestor))) {
if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){
// listar archivos
print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";
$i++;
}//end if
}//end while
closedir($gestor);
}else{
print "Error: El directorio no pudo ser abierto";

}//end if
}else{
print "Error: no es un directorio";
}//end if
}//end leerDir(param)


//ejemplo:
$dr = "_pru";
$lmt=10;
leerDir($dr,$lmt);
?>
Como lo interpreto bien?
Osea, como hago quiero visualizar los documentos .php de la carpeta videos...
como hago?
  #7 (permalink)  
Antiguo 02/05/2009, 10:34
Avatar de Distriker  
Fecha de Ingreso: marzo-2008
Ubicación: Las Palmas De Gran Canarias
Mensajes: 924
Antigüedad: 16 años, 1 mes
Puntos: 23
Respuesta: Últimos archivos subidos

Entonces, creo que te refieres a donde colocas el directorio de la carpeta de los archivos esos que pretendes visualizar, si es así, creo que te puedo ayudar.

Código php:
Ver original
  1. <?php
  2. function leerDir($path,$limite){
  3. if(is_dir($path)){
  4. if ($gestor = opendir($path)) {
  5. $i=1;
  6. while (false !== ($archivo = readdir($gestor))) {
  7. if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){
  8. // listar archivos
  9. print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";
  10. $i++;
  11. }//end if
  12. }//end while
  13. closedir($gestor);
  14. }else{
  15. print "Error: El directorio no pudo ser abierto";
  16.  
  17. }//end if
  18. }else{
  19. print "Error: no es un directorio";
  20. }//end if
  21. }//end leerDir(param)
  22.  
  23.  
  24. //ejemplo:
  25. $dr = "_pru";
  26. $lmt=10;
  27. leerDir($dr,$lmt);
  28. ?>

Creo que debes de hacer esto:

Linea 7:
if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){

Linea 9:
print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";

Creo que debes sustituir lo que te he puesto en rojo por el nombre del directorio donde están esos archivos. Es solo un suponer .

Saludos
__________________
Si no te quejas, nunca conseguiras nada, pero si te quejas siempre lo perderás todo.
Una mala acción da fruto a un mal Karma.
  #8 (permalink)  
Antiguo 02/05/2009, 10:35
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Últimos archivos subidos

Cita:
Iniciado por Distriker Ver Mensaje
Entonces, creo que te refieres a donde colocas el directorio de la carpeta de los archivos esos que pretendes visualizar, si es así, creo que te puedo ayudar.

Código php:
Ver original
  1. <?php
  2. function leerDir($path,$limite){
  3. if(is_dir($path)){
  4. if ($gestor = opendir($path)) {
  5. $i=1;
  6. while (false !== ($archivo = readdir($gestor))) {
  7. if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){
  8. // listar archivos
  9. print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";
  10. $i++;
  11. }//end if
  12. }//end while
  13. closedir($gestor);
  14. }else{
  15. print "Error: El directorio no pudo ser abierto";
  16.  
  17. }//end if
  18. }else{
  19. print "Error: no es un directorio";
  20. }//end if
  21. }//end leerDir(param)
  22.  
  23.  
  24. //ejemplo:
  25. $dr = "_pru";
  26. $lmt=10;
  27. leerDir($dr,$lmt);
  28. ?>

Creo que debes de hacer esto:

Linea 7:
if(($archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){

Linea 9:
print $i."-".$archivo." ".date ("Y m d H:i:s.", filemtime($path."/".$archivo))."<br>";

Creo que debes sustituir lo que te he puesto en rojo por el nombre del directorio donde están esos archivos. Es solo un suponer .

Saludos
Ya intente eso y no funciona =S
  #9 (permalink)  
Antiguo 02/05/2009, 10:38
Avatar de Distriker  
Fecha de Ingreso: marzo-2008
Ubicación: Las Palmas De Gran Canarias
Mensajes: 924
Antigüedad: 16 años, 1 mes
Puntos: 23
Respuesta: Últimos archivos subidos

Pues nose, revisaré el codigo pero mejor espera a que un avanzado del PHP se pase y te conteste .

Suerte.

Saludos
__________________
Si no te quejas, nunca conseguiras nada, pero si te quejas siempre lo perderás todo.
Una mala acción da fruto a un mal Karma.
  #10 (permalink)  
Antiguo 02/05/2009, 10:50
 
Fecha de Ingreso: febrero-2009
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 305
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Últimos archivos subidos

Listo, ya lo pude arreglar, gracias!
Y para los que buscaron en google en un futuro, les dejo la solucion

Código PHP:
<?php
function leerDir($path,$limite){
if(
is_dir($path)){
if (
$gestor opendir($path)) {
$i=1;
while (
false !== ($archivo readdir($gestor))) {
if((
$archivo!=".") && ($archivo!="..")&& (is_file($path."/".$archivo))&&($i<=$limite)){
// listar archivos
print $i."-".$archivo." ".date ("Y m d H:i:s."filemtime($path."/".$archivo))."<br>";
$i++;
}
//end if
}//end while
closedir($gestor);
}else{
print 
"Error: El directorio no pudo ser abierto";

}
//end if
}else{
print 
"Error: no es un directorio";
}
//end if
}//end leerDir(param)


//ejemplo:
$dr "videos";
$lmt=10;
leerDir($dr,$lmt);
?>
P.D:Yo siempre que busco google y doy en un post de fdw nunca dan la solucion xd
  #11 (permalink)  
Antiguo 02/05/2009, 10:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Últimos archivos subidos

aquí hay un ejemplo mas efectivo y flexible....

esta función si ordena los archivos nuevos primero

Código PHP:
<?php
function archivos($carpeta '.'$limite null)
{
  
// arreglo de salida
  
$out = array();

  
// abrimos la carpeta
  
$tmp opendir($carpeta);

  
// mientras leemos la carpeta
  
while (false !== ($old readdir($tmp)))
  {
    
// ruta compuesta
    
$new $carpeta DIRECTORY_SEPARATOR $old;

    
// debe ser un archivo...
    
if (($old != '.' && $old != '..') && is_file($new))
    {
      
// archivo => fecha de modificacion
      
$out[$new] = filemtime($new);
    }
  }

  
// cerramos
  
closedir($tmp);

  
// ordenamos (nuevos primero)
  
arsort($out);

  if (
$limite 0)
  {
    
// limitamos...
    
$out array_slice($out0$limite);
  }

  
// regresamos el arreglo
  
return $out;
}



// modo de uso
$aqui dirname(__FILE__);

var_dump(archivos($aqui3));
espero les oriente en algo, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 02/05/2009, 10:55
Avatar de Distriker  
Fecha de Ingreso: marzo-2008
Ubicación: Las Palmas De Gran Canarias
Mensajes: 924
Antigüedad: 16 años, 1 mes
Puntos: 23
Respuesta: Últimos archivos subidos

Me alegro de que se te haya solucionado MRB.

Por cierto, gracias por habernos dejado la solución y a ti también Pateketrueke ya que puede que esto me haga falta a mi en el futuro.

Saludos
__________________
Si no te quejas, nunca conseguiras nada, pero si te quejas siempre lo perderás todo.
Una mala acción da fruto a un mal Karma.
  #13 (permalink)  
Antiguo 03/05/2009, 01:17
 
Fecha de Ingreso: junio-2008
Mensajes: 4
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Últimos archivos subidos

RMB09
que bueno! eres un master!!!
Saludos!
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 19:16.