Foros del Web » Programando para Internet » PHP »

Como usar chdir();

Estas en el tema de Como usar chdir(); en el foro de PHP en Foros del Web. Mi pregunta es la siguiente: Despues de cambiar el directorio activo con, por ejemplo: chdir($directorio); Si queremos volver al directorio donde se encuentra nuestro script ...
  #1 (permalink)  
Antiguo 25/02/2006, 12:30
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 13 años, 9 meses
Puntos: 1
Como usar chdir();

Mi pregunta es la siguiente:

Despues de cambiar el directorio activo con, por ejemplo:

chdir($directorio);

Si queremos volver al directorio donde se encuentra nuestro script ¿Cómo lo hariamos?

Dejo aqui el código que estoy empleando anotado para mas referencia



function leerFicheros($directorio){

chdir($directorio);
$directorio=opendir(".");
//Lee el directorio buscando archivos y carpetas.
while ( $archivo=readdir( $directorio)){
if( is_dir( $archivo)){
//No necesitamos los nombres de los directorios.
}
else{
$ficheros[]=$archivo; //Guarda todos los nombres de los archivos en un array de ficheros.
}
}
closedir($directorio);
return $ficheros;
}//Fin leerFicheros


...
...
...

$ficheros=leerFicheros('images');
//Instruccion que requiere el directorio actual!!


Desde fuera llamamos a esta funcion con una valor de $directorio que no depende de nosotros, sino de una base de datos:

¿Cómo volvemos a activar el directorio donde esta la página en la cual esta este script?

Muchas gracias por la ayuda!!!
  #2 (permalink)  
Antiguo 25/02/2006, 14:33
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 13 años, 9 meses
Puntos: 1
De acuerdo Una posible solucion

Encontre una solucion que parece buena.
Aunque espero que alguien me de alguna otra que pudiera ser aun mejor, vaya, una linea de codigo, mi solucion se basa en dos lineas !!!!

Código PHP:
function leerFicheros($directorio){
    
$directorio_real=getcwd();  //Guardamos el directorio en el que estamos trabajando.    
    
    
chdir($directorio);
    
$directorio=opendir(".");
    
//Lee el directorio buscando archivos y carpetas.
    
while ( $archivo=readdir$directorio)){
        if( 
is_dir$archivo)){
            
//No necesitamos los nombres de los directorios.
        
}
        else{
            
$ficheros[]=$archivo;  //Guarda todos los nombres de los archivos  en un array de ficheros.
        
}
    }  
    
closedir($directorio);
    
chdir($directorio_real); //Regresamos al directorio en el que estabamos trabajando.

    
return $ficheros
}
//Fin  leerFicheros 
Antes de realizar ningun cambio de directorio guardamos el directorio actual de trabajo y despues de todos los movimientos cambianmos al directorio que previamente guardamos.
Parece que funciona bastante bien (de momento y en un servidor local), pero espero mejores soluciones
  #3 (permalink)  
Antiguo 27/02/2006, 06:14
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 13 años, 9 meses
Puntos: 1
¿¿¿¿...????

¿Es que nadie sabe como se puede hacer esto?
  #4 (permalink)  
Antiguo 27/02/2006, 15:28
 
Fecha de Ingreso: junio-2004
Mensajes: 8
Antigüedad: 13 años, 6 meses
Puntos: 0
Prueba con esto

Utiliza estas variables para saber donde está el script que estás ejecutando:

_SERVER["DOCUMENT_ROOT"]
_ENV["REQUEST_URI"]
PATH_TRANSLATED

Pruebalas todas a ver cual te va mejor.

Espero te sirva.
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 18:54.