Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/03/2014, 17:28
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: file_exists de PHP no me funciona

Cita:
Iniciado por JuanPhp Ver Mensaje
La funcion funciona bien para unos archivos y para otros no. Y todos los archivos de fotos estan en el mismo directorio.
Te lo repito: tu eres el que se equivoca, dicha función trabaja de manera correcta.

Ahora, entiendo que todos los archivos estén en el mismo directorio, pero tal vez lo que cambia es la ruta del script donde los intentas leer y ahí es entonces donde se ve afectado el resultado.

Ejemplo:

/index.php
/otro/script.php
/imagenes/ejemplo.gif

Suponiendo que tienes esto en index.php:
Código PHP:
Ver original
  1. echo file_exists('imagenes/ejemplo.gif'); // true

Sin embargo esto no funciona igual en otro/script.php:
Código PHP:
Ver original
  1. echo file_exists('imagenes/ejemplo.gif'); // false

¿Por qué?

Porque al ser una ruta relativa trata de resolverse justo a partir de la ubicación del script que invoca la función file_exists(), y en el caso de otro/script.php internamente se intenta resolver la ruta como "otro/imagenes/ejemplo.gif" y por ende no existe.

¿Se entiende?

Cita:
Iniciado por JuanPhp Ver Mensaje
¿Como hago lo de la ruta absoluta? No entiendo cual es el problema
Una ruta absoluta es la que indica toda la dirección física del archivo, un ejemplo: /var/www/site/imagenes/ejemplo.gif

Para obtener la raíz de tu sitio debes usar $_SERVER['DOCUMENT_ROOT'], y entonces puedes a partir de ahí hacer referencia a cualquier otra ruta:

Código PHP:
Ver original
  1. echo file_exists($_SERVER['DOCUMENT_ROOT'] . '/imagenes/ejemplo.gif'); // true

¿Ahora está más claro?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.