Cristalab

                 ¿Quieres registrarte?

Crear una lista de carpetas con PHP

Por: RattaMono
15 de Diciembre del 2006
1330 de clabLevel
Otros artículos de RattaMono
27,831 visitas
php

Tienes una carpeta llena de fotos... quieres poner un enlace a todas. Una opción seria dejar el index predeterminado que hace apache (O el server que uses) de tu carpeta. Esa opción es horrible, porque no te da control, pero es sencilla porque no tienes que cambiar nada a mano. Con PHP, en cambio, tienes la posibilidad de ver todos los archivos de una carpeta y listarlos. Esa opción es la que les voy a mostrar ahora.

PHP tiene la capacidad de crear un array con todos los archivos de una carpeta en nuestro servidor. En este script analizaremos el contenido de una carpeta y crearemos una tabla con la lista de los archivos que la componen.

Código :

<?php
echo "<h3>Index</h3>\n";
echo "<table>\n";
$directorio = opendir(".");
while ($archivo = readdir($directorio))
   {
   $nombreArch = ucwords($archivo);
   $nombreArch = str_replace("..", "Atras", $nombreArch);
   echo "<tr>\n<td>\n<a href='$archivo'>\n";
   echo "<img src='./imagenes/carpeta.png' alt='Ver $nombreArch'";
   echo " border=0>\n";
   echo "<b>&nbsp;$nombreArch</b></a></td>\n";
   echo "\n</tr>\n";
   }
closedir($directorio); 
echo "</table>\n";
?>


Explico brevemente:

$directorio = opendir("."); Abrimos el directorio raíz
while ($archivo = readdir($directorio)) La var archivo es igual a lo leido en el direcorio
echo "<tr>\n<td>\n<a href='$archivo'>\n"; Link al archivo

Lógicamente después le agregas estilos para que quede mas presentable ;)


Artículos Relacionados


Etiquetas php

Comentarios | Enviar un comentario
bien, bien.
Por: Sisco
mmm para eso prefiero esta función:

Listar Carpetas en un Array [php]

^^
Por: Maikel

Maikel :

mmm para eso prefiero esta función:

Listar Carpetas en un Array [php]

^^


Si realmente esta mucho mejor hecho que el mio xD... pero tengan en cuenta que es scrip propio el mio... lo uso solo en mi intranet xD
Por: RattaMono
ese script tambien es propio mío :P
Por: Maikel
jajaa... soy diasdad... dislexo (O como se escriba xD).
Por: RattaMono
Buen tip (Y)
Por: DanielSemper
El scrip es te de p.m. pero, como tendria que hacer para que no se listara el fichero php ?
Por: Rein_blog
Hola, soy novato en php, pero se algo de programación... respecto a que no salga le php. Prueba a poner una función IF, si la extension es php que no lo haga.

Por ejemplo coges la variable donde se almacena el nombre del archivo, lees sus 3 ultimos caracteres y si es igual a php pos fuera.

Saludos y como he dicho, soy un poco novato, asi es como lo haria yo en Visual, que es el que conozco.
Por: Luci_blog
una consulta y como visualizaria una lista pero solo de un tipo de archivo por ejemplo *.jpg
Por: jc.gonzalez_blog
Hola, necesito que no se listen el directorio raiz (.) ni el back (..) solamente que muestre archivos cuando los haya, tambien presento problemas cuando trato de darle click al archivo para bajarlo
Por: lcastilloh
y si kiero paginar los resultados ¿?
Por: diabolik
Aquí les dejo una rutina completa que pueden implementar en vuestros sitios, para listar directorios y archivos, asociados a un icono.

Pueden ver su resultado en http://www.mtt.cl/prontus_mtt/estudios/21 Xinergia Laboral/Informe Xinergia (E)/

El script lo pueden bajar desde http://www2.netexplora.com/j3m/lista.rar
Por: Listado php con js e icon
FYI


esta es la forma correcta de pasar sobre los directorios de los archivos..

while (false !== ($file = readdir($handle))) {
echo "$file\n";
}

el operador !== no hace la comprobacion de que el tipo de retorno es realmente booleano y no una cadena vacia o 0... que con el == puede pasar como falso.
Por: Gerardo_blog
soy novato y quiero hacer un enlace a una carpeta con unos archivos que quiero mostrar mediante php
Por: manudo_blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.