Foros del Web » Programando para Internet » PHP »

Ver solamente 20 archivos de una carpeta

Estas en el tema de Ver solamente 20 archivos de una carpeta en el foro de PHP en Foros del Web. Bueno estoy haciendo mi pagina web y yo tengo un codigo que muestra TODOS los archivos de una carpeta. Al ser muchos la página se ...
  #1 (permalink)  
Antiguo 09/01/2011, 08:46
 
Fecha de Ingreso: enero-2011
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Ver solamente 20 archivos de una carpeta

Bueno estoy haciendo mi pagina web y yo tengo un codigo que muestra TODOS los archivos de una carpeta. Al ser muchos la página se hace muy extensa.
¿Cómo puedo hacer para que solamente se vean 20 archivos nada más?

Muchas gracias.
  #2 (permalink)  
Antiguo 09/01/2011, 09:04
Avatar de Smolky  
Fecha de Ingreso: mayo-2006
Ubicación: Cartagena
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Ver solamente 20 archivos de una carpeta

Hola. Ya que no vemos nada del código que tienes no te podemos ayudar a adaptarlo a lo que quieres.

Por otra parte, puedes echarle un vistazo a la función readdir de PHP, especialmente al ejemplo número 1, donde itera todos los ficheros de un determinado directorio.

Código PHP:
<?php
 
if ($gestor opendir('/path/to/files')) {
    echo 
"Gestor de directorio: $gestor\n";
    echo 
"Archivos:\n";
 
    
/* Esta es la forma correcta de iterar sobre el directorio. */
    
while (false !== ($archivo readdir($gestor))) {
        echo 
"$archivo\n";
    }
 
    
/* Esta es la forma errónea de iterar sobre el directorio. */
    
while ($archivo readdir($gestor)) {
        echo 
"$archivo\n";
    }
 
    
closedir($gestor);
}
?>
Adaptarlo para mostrar 20 ficheros sería modificar la sentencia while del código anterior para decirle que mientras siga teniendo fichero y no haya mostrado 20 siga iterando. Algo así



Código PHP:
<?php
 
if ($gestor opendir('/path/to/files')) {
    echo 
"Gestor de directorio: $gestor\n";
    echo 
"Archivos:\n";
 
    
/* Esta es la forma correcta de iterar sobre el directorio. */
    
$contador 0;
    while (
       (
false !== ($archivo readdir($gestor))) &&
       (
$contador 20)) {
        echo 
"$archivo\n";
        
$contador++;
    }
 
    
closedir($gestor);
}
?>
P. D: Lo he hecho de cabeza, espero no haber metido ningún error, y si lo he hecho, por lo menos espero que esto te ayude a diseñar algo personalizado a lo que necesitas.
__________________
No hay cuerda desafinada sino músico progresivo
  #3 (permalink)  
Antiguo 09/01/2011, 09:15
 
Fecha de Ingreso: enero-2011
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ver solamente 20 archivos de una carpeta

$directorio=dir($path);

echo "Servidores encontrados: <br><br>";

while ($archivo = $directorio->read())

{
$lines = file("servidores/$archivo");

foreach ($lines as $line_num => $line) {

$datos = explode(",", $line);

//if(strtoupper($datos[0]) == strtoupper($nombre)) {
if(strstr(strtoupper($datos[0]),strtoupper($nombre))){

echo "<hr><br><strong>Nombre del servidor</strong>: $datos[0]<br>
<strong>Sitio web del servidor</strong>: $datos[1]<br>
<strong>Email</strong>: $datos[2]<br>
<strong>Modificacion (MOD)</strong>: $datos[3]<br>
<strong>Host</strong>: $datos[4]<br>
<strong>Conexion</strong>: $datos[5]<br>
<strong>Slots</strong>: $datos[6]<br>
<strong>Experiencia</strong>: $datos[7]<br>
<strong>Oro</strong>: $datos[8]<br>
<strong>Nivel maximo</strong>: $datos[9]<br>
<strong>Innovaciones</strong>: $datos[10]<br>
<br><hr> $archivo";

}
}
}

$directorio->close();
}

Eso uso yo. Disculpame por no ponerlo.
  #4 (permalink)  
Antiguo 09/01/2011, 09:21
Avatar de Smolky  
Fecha de Ingreso: mayo-2006
Ubicación: Cartagena
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: Ver solamente 20 archivos de una carpeta

Entonces creo que si te puede servir el ejemplo de arriba. Si te fijas, ambos tenemos un while que itera por los directorios. Podrías coger el del ejemplo que te he pasado que tendría en cuenta el número de apariciones y además que, según el manual, es la forma correcta de iterar sobre los ficheros del directorio.

El código interno del iterador sería el tuyo, acordándote de incrementar la variable contador en uno para que el programa termine cuando no haya más ficheros o haya superado el total de 20 ficheros
__________________
No hay cuerda desafinada sino músico progresivo
  #5 (permalink)  
Antiguo 09/01/2011, 12:17
 
Fecha de Ingreso: enero-2011
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ver solamente 20 archivos de una carpeta

Muchisimas gracias Smolky...

Pude adaptar lo que me diste.

Etiquetas: 20, ver
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 16:46.