Foros del Web » Programando para Internet » PHP »

Opendir no abre carpeta

Estas en el tema de Opendir no abre carpeta en el foro de PHP en Foros del Web. saludos, tengo un problema que nunca me había sucedido. estoy intentando leer los archivos de una carpeta, la carpeta esta en mi localhost, si hago ...
  #1 (permalink)  
Antiguo 20/04/2012, 09:36
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Opendir no abre carpeta

saludos, tengo un problema que nunca me había sucedido.

estoy intentando leer los archivos de una carpeta,

la carpeta esta en mi localhost, si hago

Código PHP:
Ver original
  1. $dir = "../carpeta/";
  2.  
  3. open_dir($dir);

me da error

Código HTML:
Message: opendir(../carpeta/) [function.opendir]: failed to open dir: No such file or directory
pero si pongo

Código PHP:
Ver original
  1. echo "<a href='$dir'>Dir</a>";

me da un link a la carpeta que quiero leer, o sea que la ruta relativa esta bien, me desconcierta por que no la puede leer, alguna sugerencia?

thanks.
  #2 (permalink)  
Antiguo 20/04/2012, 09:39
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: Opendir no abre carpeta

Creo que el metodo es opendir() no, open_dir() :S a menos que sea un metodo tuyo que adentro llame a opendir.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 20/04/2012, 09:40
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Opendir no abre carpeta

jaja tienes razón, lo escribi mal aquí pero en mi code esta bien, eso me pasa por no copiar.

si feura eso, me daría error de función. call to undefined
  #4 (permalink)  
Antiguo 20/04/2012, 09:49
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: Opendir no abre carpeta

proba utilizando $_SERVER['DOCUMENT_ROOT'] para obtener la ruta completa y concatenale tu directorio.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 20/04/2012, 09:53
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Opendir no abre carpeta

tienes razón, al parecer solo lee si le pongo C:/server/etc.etc.

que es lo que devuelve $_SERVER['DOCUMENT_ROOT'];

antes lo hacia con http://localhost/ pero parece que así no sirve en windows

gracias.

+1
  #6 (permalink)  
Antiguo 20/04/2012, 10:00
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: Opendir no abre carpeta

Te dejo la info del manual

http://php.net/manual/es/reserved.variables.server.php

Pero te lo adelanto aca:

El directorio raíz de documentos del servidor en el cual se está ejecutando el script actual, según está definida en el archivo de configuración del servidor.

Ej: en el caso de estar con el apache en linux el $_SERVER['DOCUMENT_ROOT'] devolveria /var/www como para darte un ejemplo
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 20/04/2012, 10:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Opendir no abre carpeta

Recuerda la diferencia entre paths en una URL y paths en una dirección de tu S.O., son muy diferentes, no es lo mismo: http://localhost/carpeta a C:/web/sites/carpeta, son dos direcciones muy diferentes.

Ahora PHP se ejecuta en el servidor, por lo que todas sus funciones de manejo de archivos primero actúan en base a las direcciones absolutas del SO, hay unas funciones que tienen wrappers para trabajar con HTTP, pero ese no es su uso primario, simplemente es un bonus.

Por lo que siempre intenta desde el lado de PHP usar directorios y carpetas de tu SO y deja fuera los links http a menos que necesites usarlos para alguna característica en específico.

Saludos.

Etiquetas: opendir, carpetas
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 16:27.