Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: |Miguel| en 17 Enero 2013, 16:02 pm



Título: file_exists() no devuelve nada...
Publicado por: |Miguel| en 17 Enero 2013, 16:02 pm
Buenas qué tal?

Pues básicamente eso, que estoy intentado usar esa función en un bucle para ver si existen una serie de archivos en mi servidor y esa función no devuelve nada, ni TRUE ni FALSE... se supone que si el archivo existe pero no tengo acceso a el debería devolver FALSE, pero nada...

Os dejo el código:
Código
  1. try {
  2. $existe = file_exists($ruta_imagen);
  3. } catch (Exception $e) {
  4. $existe = 'Excepción capturada: '.$e;
  5. }
  6. echo($existe);
  7.  

No imprime nada...

Gracias.


Título: Re: file_exists() no devuelve nada...
Publicado por: #!drvy en 17 Enero 2013, 16:09 pm
echo no debe devolverte TRUE o FALSE. En todo caso para TRUE te devolveria 1 y para FALSE nada.
Cambia el echo $existe por echo var_dump($existe); y prueba.

Saludos


Título: Re: file_exists() no devuelve nada...
Publicado por: |Miguel| en 17 Enero 2013, 16:14 pm
Gracias.
Me devolvía false siempre, a pesar de que los archivos por los que pregunto sí existen... Quizá sea tema de que el php.ini de mi servidor no está bien configurado... a ver si encuentro el parámetro que hay que configurar.

O que la ruta que le paso está mal... XD


Título: Re: file_exists() no devuelve nada...
Publicado por: |Miguel| en 17 Enero 2013, 16:27 pm
Pues no, la ruta está bien...

¿alguien sabe qué parámetro del php.ini tengo que configurar y cómo para que funcione esto?

Gracias!


Título: Re: file_exists() no devuelve nada...
Publicado por: #!drvy en 17 Enero 2013, 16:35 pm
Podrias mostrar la ruta que usas para los archivos y donde esta situada (ruta) la funcion que comprueba si existen ?

Aparte, debes saber que no basta con dar permiso a los archivos que quieres buscar. Tambien debes dar permiso a las carpetas.

Ej: Supongamos que nuestra función se encuentra en /var/www/comprobar.php y queremos comprobar un archivo en /var/www/carpeta1/carpeta2/carpeta3.

/var/www/comprobar.php - 777
/var/www/carpeta1 - 777
/var/www/carpeta1/carpeta2 - 600
/var/www/carpeta1/carpeta2/carpeta3 - 777
/var/www/carpeta1/carpeta2/carpeta3/archivo.php - 777

En este caso file_exist debería retornarte FALSE porque no puede acceder mas allá de la carpeta1 (siempre y cuando el php no corra como propietario de esas carpetas).

Saludos


Título: Re: file_exists() no devuelve nada...
Publicado por: |Miguel| en 17 Enero 2013, 16:38 pm
ficheros: /public_html/wp-content/uploads/imgs
la función file_exists es propia de PHP y la llamo desde: /public_html/wp-content/themes/cadabrapress_nitin/featured-posts.php


Título: Re: file_exists() no devuelve nada...
Publicado por: lucaslopez0000 en 15 Febrero 2013, 21:41 pm
No entiendo para qué tanto código.
haz un if(file_exists("rutaquesea"))
;)


Título: Re: file_exists() no devuelve nada...
Publicado por: |Miguel| en 16 Febrero 2013, 16:17 pm
No entiendo para qué tanto código.
haz un if(file_exists("rutaquesea"))
;)
Es lo primero que hice, y la función no me devuelve nada, exista o no el fichero.
Un saludo.


Título: Re: file_exists() no devuelve nada...
Publicado por: kalvinman en 1 Marzo 2013, 21:42 pm
Una cosa que tal ves pueden no estar considerando y que a mi me pasaba muy seguido es diferenciar entre el file_exist y el is_file

if(file_exist("ruta")) dara true aunque este vacio siempre que el servidor envie una respuesta

if(is_file("ruta")) es mas seguro ya que solo dara true si la ruta corresponde a un archivo exacto y no a un directorio.


Título: Re: file_exists() no devuelve nada...
Publicado por: |Miguel| en 1 Marzo 2013, 21:44 pm
Una cosa que tal ves pueden no estar considerando y que a mi me pasaba muy seguido es diferenciar entre el file_exist y el is_file

if(file_exist("ruta")) dara true aunque este vacio siempre que el servidor envie una respuesta

if(is_file("ruta")) es mas seguro ya que solo dara true si la ruta corresponde a un archivo exacto y no a un directorio.
También he probado esa función, y tengo el mismo problema.Las dos devuelve FALSE siempre...


Título: Re: file_exists() no devuelve nada...
Publicado por: kalvinman en 6 Marzo 2013, 22:20 pm
Entonces el problema muy probablemente sea la ruta aunque podrias publicar el codigo para poder revisar si hay algun problema.