Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dimitrix en 28 Agosto 2008, 14:07 pm



Título: Listado de Archivos
Publicado por: dimitrix en 28 Agosto 2008, 14:07 pm
Bueno tengo este código que me lista los archivos y las carpetas, lo que me gustaría saber es si se puede listar sólo los archivos y también si se puede listar sólo las carpetas

Código
  1. <?php
  2. if ($gestor = opendir('.')) {
  3.    while (false !== ($archivo = readdir($gestor))) {
  4.        if ($archivo != "." && $archivo != "..") {
  5.            echo "$archivo\n";
  6. echo "<br>";
  7.        }
  8.    }
  9.    closedir($gestor);
  10. }
  11. ?>


Título: Re: Listado de Archivos
Publicado por: USUARIO_DE_SOFTWARE_LIBRE en 28 Agosto 2008, 15:11 pm
Yo tube ese problema una vez y usé la función is_dir que devuelve true si el nombre del archivo es un directorio.
if ($archivo != "." && $archivo != ".." && is_dir($archivo)==TRUE) {
de esa forma solo mostraría los directorios :)


Título: Re: Listado de Archivos
Publicado por: dimitrix en 28 Agosto 2008, 15:21 pm
Muchas gracias, luego también estaría, el is_file.

Gracias de nuevo.


Título: Re: Listado de Archivos
Publicado por: dimitrix en 28 Agosto 2008, 15:26 pm
Bien, ya comprobé y funciona todo bien, pongo los códigos:

Sólo archivos:
Código
  1. <?php
  2. if ($gestor = opendir('.')) {
  3.    while (false !== ($archivo = readdir($gestor))) {
  4.        if ($archivo != "." && $archivo != ".." && is_file($archivo)==TRUE) {
  5.            echo "$archivo\n";
  6. echo "<br>";
  7.        }
  8.    }
  9.    closedir($gestor);
  10. }
  11. ?>
  12.  

Sólo carpetas:
Código
  1. <?php
  2. if ($gestor = opendir('.')) {
  3.    while (false !== ($archivo = readdir($gestor))) {
  4.        if ($archivo != "." && $archivo != ".." && is_dir($archivo)==TRUE) {
  5.            echo "$archivo\n";
  6. echo "<br>";
  7.        }
  8.    }
  9.    closedir($gestor);
  10. }
  11. ?>
  12.  

Estoy haciendo una especie de aplicación para ver imágenes ordenadas por carpetas, etc...