Foros del Web » Programando para Internet » PHP »

Detectar directorio

Estas en el tema de Detectar directorio en el foro de PHP en Foros del Web. Hola gente. Estoy intentando crear una lista con los directorios que haya dentro un directo. El codigo que utilizo es el siguiente: Código: while( false ...
  #1 (permalink)  
Antiguo 18/10/2005, 02:47
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Detectar directorio

Hola gente. Estoy intentando crear una lista con los directorios que haya dentro un directo. El codigo que utilizo es el siguiente:

Código:
	while( false !== ($fichero = readdir($handle_dir)) )
	{
		echo "<BR>".filetype($fichero)." - ".$fichero;
				
	// solo se aceptan directorios
		if( is_dir($fichero) && $fichero != "." && $fichero != ".." ) 
		{
   			   $listaGalerias .= "$fichero;";
	        }
	}
			
	echo $listaGalerias;
La funcion is_dir no me funciona y la funcion filetype me da el siguiente error:

Warning: filetype(): Lstat failed for (null) (errno=2 - No such file or directory)

El directorio con el que tengo los problemas (que no me lo acepta como tal) tiene los siguientes atributos: drwxr-xr-x

Gracias de antemano
  #2 (permalink)  
Antiguo 18/10/2005, 03:59
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
La función is_dir() no te funciona porque necesitas dar al path realtivo completo.
Ese sería un directorio que está dentro del directorio "$handle_dir". Lo corecto sería
Código PHP:
if( is_dir($handle_dir."/".$fichero && $fichero != "." && $fichero != ".." )) 
Saludos
  #3 (permalink)  
Antiguo 18/10/2005, 04:44
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Gracias jpinedo, tu código me ha servido para intuir el problema aunque éste tenía algún error.
Mi problema ocurría porque si estando en el directorio /raiz quiero leer los subdirectorios de /raiz/subdir tenía que añadir el directorio /subdir a los ficheros/directorios.

Ej: (estando en /raiz)
Código:
is_dir( "subdir/".$fichero )
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 07:45.