Foros del Web » Programando para Internet » PHP »

is_dir

Estas en el tema de is_dir en el foro de PHP en Foros del Web. hola, me sucede algo muy extraño conla funcion is_dir(), resulta que ha hacer un recorrido por un directorio dado , no reconoce los directorios... solo ...
  #1 (permalink)  
Antiguo 03/07/2003, 01:20
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
is_dir

hola, me sucede algo muy extraño conla funcion is_dir(), resulta que ha hacer un recorrido por un directorio dado , no reconoce los directorios... solo reconoce el "." y el ".." y los demas no hace nada... alguien tiene alguna idea de proque pasa esto?

y si necesitan mas info

de antemoanm muchas gracias
__________________
=PoWeReD By MySeLf!=
  #2 (permalink)  
Antiguo 03/07/2003, 02:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Quizas es que la estas usando mal. ¿Le pasas solo el nombre del directorio o la ruta completa? Es que si especificas solo el nombre del directorio, el lo toma como relativa al "directorio de trabajo en curso", que no tiene por que coincidir con el directorio donde esta el script. Usa la ruta completa (o cambia el "directorio de trabajo en curso" con chdir() (www.php.net/chdir), aunque no creo que sea necesario).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 03/07/2003, 02:28
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
claro que lo toma como relativo, ya lo solucione, y es que habia hecho un opendir sobre un path, y recorria el directorio, de hecho mostraba lo que estaba dentro, pero lo tomaba como que estaba en el cwd (current working dorectory o directorio de trabajo actual). asi que chdir :)

mi solucion es la siguiente
Código PHP:
// guardamos el directorio de trabajo actual
    
$oldcwd getcwd();
// nos cambiamos al directorio que queremos recorrer
    
chdir(C_DIRECTORIO_COSAS);
    
// abrir directorio de cosas
    
$handler opendir(getcwd());
    
// recorrer directorio de cosas
    
while(($file readdir($handler)) !== false)
    {
        if (!((
$file == ".") || ($file == "..")))
        {
            
// si $file es un directorio             if(is_dir($file))
            
{
                
// mostramos
                
echo $file "es directorio :)";                $i++;
            }
        }
    }
    
// cerramos el handler
    
closedir($handler);
    
// volvemos al directorio de trabajo antiguo
    
chdir($oldcwd); 
saludos
__________________
=PoWeReD By MySeLf!=
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 21:16.