Foros del Web » Programando para Internet » PHP »

Problema con ubicacion de archivo

Estas en el tema de Problema con ubicacion de archivo en el foro de PHP en Foros del Web. Hola. Tengo el siguiente problema, tengo un script que necesita acceder a un archivo dentro del servidor (Linux), el script php esta dentro de un ...
  #1 (permalink)  
Antiguo 05/04/2011, 16:02
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 18 años, 3 meses
Puntos: 1
Exclamación Problema con ubicacion de archivo

Hola.

Tengo el siguiente problema, tengo un script que necesita acceder a un archivo dentro del servidor (Linux), el script php esta dentro de un servidor visible via web pr apache.

Y el archivo que quiero consultar se encuentra en otro directorio no visible via web en /home/test/documentos/

La cosa es que cuando pregunto file_exists(), me devuelve true solo en la ruta que indico y no si busco en una ruta interna a ese directorio, dejo un código de ejemplo:

Código PHP:
<?php

ini_set 
("display_errors""1");
error_reporting(E_ALL);

if (!
file_exists('/home/test/documentos/')) {
    echo 
"No se encuentra el Directorio: /home/test/documentos/";
} else {
    echo 
"Directorio /home/test/documentos/ encontrado!";
}

?>
Este código me funciona bien y efectivamente el directorio que consulto es encontrado.

pero:

Código PHP:
<?php

ini_set 
("display_errors""1");
error_reporting(E_ALL);

if (!
file_exists('/home/test/documentos/scan/')) {
    echo 
"No se encuentra el Directorio: /home/test/documentos/scan/";
} else {
    echo 
"Directorio /home/test/documentos/scan/ encontrado!";
}

?>
Este código no funciona y me devuelve false, la única diferencia es que consulto el directorio "scan" dentro de la ruta anterior.

El directorio si existe y lo he confirmado.

Los permisos los probe con 777 en todos los directorios, asigne el usuario apache al grupo dueño del directorio, asigne el usuario apache como dueño de los directorios también.

Según phpinfo() me dice que el usuario que ejecuta apache es en efecto apache, pero si hago getmyuid() con PHP me devuelve 0 (o root). probe dandole permisos a ambos usuarios a los directorios pero nada.

Lo extraño es que solo se produce cuando intento buscar el directorio "scan" o algun otro directorio que se encuentre dentro de /home/test/documentos/

Ya probe con uppercase y lowercase en los directorios, finalmente dejé todo en lowercase.

Además si hago un pathinfo() a un archivo dentro del directorio, este sí me devuelve los datos correctamente, pero file_exists() no me lo detecta.

He buscado en Google pero lo que encuentro es que puede ser algo de permisos o la ruta mal escrita pero como digo, ya he confirmado que la ruta esta bien y he probado todos los permisos.

Si alguien ha tenido un problema parecido o sabe que puede ser le agradeceria infinitamente que me diera una mano, por que no se que puede ser.

Quizás sea alguna configuración de PHP que se me pasó, o de apache pero estoy en el momento en que ya no se me ocurren mas ideas.

Desde ya gracias.

Saludos.
  #2 (permalink)  
Antiguo 05/04/2011, 16:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema con ubicacion de archivo

los sistemas basados en linux son sensibles a mayúsculas, verifica los nombres de los directorios
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/04/2011, 16:55
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: Problema con ubicacion de archivo

Gracias por responder, pero como mencione en el post, dejé todo en lowercase (minúsculas) para evitar ese problema.

La aplicación que estoy trabajando trabaja con mayúsculas y minúsculas, pero para efectos de reproducir el problema que tengo, adjunte un poco de código, y trabaje todo en minúsculas.

Etiquetas: ubicacion
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 03:36.