Foros del Web » Programando para Internet » PHP »

Problema con directorios

Estas en el tema de Problema con directorios en el foro de PHP en Foros del Web. Hola Amigos.. Tengo un problema con este codigo. La funcion que cumple es listar "solamente" los directorios. para eso uso is_dir pero... que pasa? cuando ...
  #1 (permalink)  
Antiguo 19/03/2004, 10:06
Avatar de elwolos  
Fecha de Ingreso: febrero-2004
Ubicación: Argentina
Mensajes: 251
Antigüedad: 13 años, 9 meses
Puntos: 0
Problema con directorios

Hola Amigos.. Tengo un problema con este codigo.
La funcion que cumple es listar "solamente" los directorios.
para eso uso is_dir pero... que pasa? cuando lo uso el path del root anda perfecto , pero si le digo que entre a un subdirectorio del root... no funciona.
por que??
PD: pueden alternar el path para ver el resultado usando el lo que esta entre ///////////////

Desde ya muchas gracias.!!

<?php
echo "Archivos del -- ";
echo $HTTP_SERVER_VARS['DOCUMENT_ROOT']." -- ";

//$path = $_GET[pagina];
////////////////////////////////
$path = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
//$path = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/sub";
////////////////////////////////

$dir = opendir($path);

echo "path:===".$path;
echo "<br><br>";


while (false !== $archidir[] = readdir($dir)){}
$i=0;
sort($archidir);
//clearstatcache;
while (next($archidir) != false){
$i++;
if (is_dir($archidir[$i])){
printf("<a href=/Admin.php?pagina=%s>%s</a> <br>", $archidir[$i], $archidir[$i]);
}
}
closedir($dir);
?>


elwolos
  #2 (permalink)  
Antiguo 20/03/2004, 13:48
Avatar de elwolos  
Fecha de Ingreso: febrero-2004
Ubicación: Argentina
Mensajes: 251
Antigüedad: 13 años, 9 meses
Puntos: 0
En serio, Nadie sabe??

Naaaaaaaa!! no puede ser , nadie sabe por que me pasa eso??

se que hay otras formas pero necesito guardarlo en un vector y a la hora de leer el vector con el is dir, es ahi donde se genera el problema y si pongo el is dir antes de guardar en el vector me guarda cualquier cosa, por que??

gracias

elwolos
  #3 (permalink)  
Antiguo 21/03/2004, 10:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

readdir() devuelve la ruta relativa al directorio que abriste con opendir(). Y en is_dir() tienes que especificarle la ruta absoluta. Asi que tendrias que hacer algo como:
Código PHP:
is_dir($path.'/'.$archidir[$i]); 
Si $path ya finalizaba en / no es necesario ponerlo otra vez.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 02:12.