Foros del Web » Programando para Internet » PHP »

como saber si un directorio tiene ficheros u otros directorios

Estas en el tema de como saber si un directorio tiene ficheros u otros directorios en el foro de PHP en Foros del Web. mi pregunta es como el enunciado, como saber si un directorio tiene ficheros u otros directorios sin tenerlo que recorrer claro. Gracias...
  #1 (permalink)  
Antiguo 26/03/2009, 07:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 171
Antigüedad: 15 años, 1 mes
Puntos: 4
como saber si un directorio tiene ficheros u otros directorios

mi pregunta es como el enunciado, como saber si un directorio tiene ficheros u otros directorios sin tenerlo que recorrer claro.
Gracias
  #2 (permalink)  
Antiguo 26/03/2009, 07:34
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: como saber si un directorio tiene ficheros u otros directorios

bueno hay muchas formas de hacerlo, puedes usar glob() o abrir un directorio y recorrerlo para ver que hay con opendir()

espero te sirva la ayuda
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 26/03/2009, 08:59
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: como saber si un directorio tiene ficheros u otros directorios

$dir = new DirectoryIterator('C:/AppServ/www/);


espero te sirva saludos!
  #4 (permalink)  
Antiguo 26/03/2009, 11:15
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como saber si un directorio tiene ficheros u otros directorios

Más fácil que el opendir() está el scandir:

Código PHP:
$directorio "undirectorio";
$elementos scandir($directorio);
$contenido 0//1->archivos; 2->directorios
foreach ($elementos as $e) {
  if (
filetype("$directorio/$e") == "dir") {
    if (
$contenido == 1) die("Mezclado");
    
$contenido 2;
  } else {
    if (
$contenido == 2) die("Mezclado");
  }
}
echo (
$contenido == 1) ? "Sólo archivos":"Sólo directorios"
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 01:07.