Foros del Web » Programando para Internet » PHP »

Problema con file_exists

Estas en el tema de Problema con file_exists en el foro de PHP en Foros del Web. Estoy modificando un tema de wordpress, en la plantilla de tag quiero que muestre una imagen si existe y si no que no muestre nada ...
  #1 (permalink)  
Antiguo 17/04/2012, 04:58
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Problema con file_exists

Estoy modificando un tema de wordpress, en la plantilla de tag quiero que muestre una imagen si existe y si no que no muestre nada y lo estoy haciendo con (a grosso modo)

if(file_exists($url)) echo <img src=$url>;

Pero a pesar de que la imagen existe no la muestra y haciendo pruebas me dice que no está. He mirado a ver si era problema del safe_mode pero en el php.ini del servidor está desactivado (es un servidor gratuito 000webhost) ya no sé que más utilizar, no sé si es cosa de wordpress o del servidor o no sé. Alguna ayuda?
  #2 (permalink)  
Antiguo 17/04/2012, 05:19
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Problema con file_exists

Te falta las comillas

if(file_exists($url)) echo "<img src=$url>";
  #3 (permalink)  
Antiguo 17/04/2012, 05:21
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Problema con file_exists

respondo sin estar seguro....
pero creo que file_exists no va a funcionar con una direccion absoluta tipo http://www.miweb.com/images/image001.jpg. Prueba solo con la ruta de la imagen file_exists('images/image001.jpg').
  #4 (permalink)  
Antiguo 17/04/2012, 08:39
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema con file_exists

Nada, no es problema de la ruta, poniéndola relativa tampoco va. Y las comillas no son ya que si las tengo puestas en el código, no las puse en el post por qué lo escribí deprisa.

El problema es que aún existiendo la imagen que pongo en la ruta, no la encuentra (o no puede encontrarla, no sé) y por tanto no la muestra
  #5 (permalink)  
Antiguo 17/04/2012, 08:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema con file_exists

De hecho probando con este código, siempre devuelve El fichero $stage no existe aunque si que exista

Código:
if (file_exists('http://elpeloton.net46.net/imagenes/carreras/perfiles/$cid/$stage.jpg')) {
    echo "El fichero $stage existe";
} else {
    echo "El fichero $stage no existe";
}
Perdón por el doble post
  #6 (permalink)  
Antiguo 17/04/2012, 08:53
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Problema con file_exists

Y esto?
Código PHP:
if (file_exists('http://elpeloton.net46.net/imagenes/carreras/perfiles/'.$cid.'/'.$stage.'.jpg')) {
    echo 
"El fichero ".$stage." existe";
} else {
    echo 
"El fichero ".$stage." no existe";

  #7 (permalink)  
Antiguo 17/04/2012, 09:01
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Problema con file_exists

Creo que zalito lleva razon.
En php, cuando usas comillas simples, no reemplaza las variables de la cadena ($cid). Con comillas dobles sí.
  #8 (permalink)  
Antiguo 17/04/2012, 09:02
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Problema con file_exists

...o no será un problema de maysculas/minusculas? jpg JPG
  #9 (permalink)  
Antiguo 17/04/2012, 09:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema con file_exists

He comprobado las mayúsculas y está todo correcto y he probado lo de las comillas, y con comillas dobles también, pero nada, no hay manera, siempre salta al else :S
  #10 (permalink)  
Antiguo 17/04/2012, 09:11
 
Fecha de Ingreso: abril-2012
Mensajes: 71
Antigüedad: 12 años
Puntos: 16
Respuesta: Problema con file_exists

no, la posta es de zalito
es un error madornal hacer esto:
file_exists('http://elpeloton.net46.net/imagenes/carreras/perfiles/$cid/$stage.jpg'
saben, todo se resolvería si utilizaran gedit, ya con los cambios de colores, como se ve acá mismo, uno se daría cuenta de lo que esta haciendo...
  #11 (permalink)  
Antiguo 17/04/2012, 09:14
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Problema con file_exists

y con un ftp, has mirado que realmente exista el archivo? Si és así, necesitamos un ninja que arroje luz sobre este misterio.
  #12 (permalink)  
Antiguo 17/04/2012, 09:14
 
Fecha de Ingreso: abril-2012
Mensajes: 71
Antigüedad: 12 años
Puntos: 16
Respuesta: Problema con file_exists

Cita:
Iniciado por kenyolo Ver Mensaje
He comprobado las mayúsculas y está todo correcto y he probado lo de las comillas, y con comillas dobles también, pero nada, no hay manera, siempre salta al else :S
entonces es una cuestion de permisos...no tienes permisos para acceder a dicho directorio, pruba a copiar la imagen, ponerla al mismo nivel que el archivo php y escribir

Código:
file_exists('".$stage.".jpg')
  #13 (permalink)  
Antiguo 17/04/2012, 09:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema con file_exists

He hecho una prueba más "radical" y finalmente el problema es que no reconoce la funcion file_exists, o que siempre devuelve false, de hecho haciendo lo siguiente
Código:
if (file_exists('../../1.jpg')) {
    echo "El fichero existe";
} else {
    echo "El fichero no existe <br><img src=\"../../1.jpg\">";
}
Pone El fichero no existe y después sale la imagen, por lo que ni es problema de rutas ni comillas ni nada. Tal vez wordpress cape la función?
  #14 (permalink)  
Antiguo 17/04/2012, 12:56
 
Fecha de Ingreso: abril-2012
Mensajes: 71
Antigüedad: 12 años
Puntos: 16
Respuesta: Problema con file_exists

no, en todo caso la versión de php, pero no creo, nunca en mi vida de programador tuve problemas con dicha función...tiene que ser problema del path o de permisos en el fichero que contiene la imagen...
intenta lo que te dije, pon una imagen en el mismo directorio del archivo php y hazlo:

Código:
if (file_exists('imagen.jpg')) {
    echo "El fichero existe";
} else {
    echo "El fichero no existe <br><img src=\"../../1.jpg\">";
}
no probaste a leer el manual en linea?
http://php.net/manual/es/function.file-exists.php
  #15 (permalink)  
Antiguo 14/03/2014, 04:51
 
Fecha de Ingreso: marzo-2014
Mensajes: 8
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Problema con file_exists

Hola kenyolo
Yo tambien estoy teniendo problemas con file_exists. Me pasa lo mismo que a ti.
Creo que lo he resuelto.
Tengo una imagen que se carga el nombre desde una base de datos para luego componer el destino completo.
Cuando paso a comprobar con file_exists si existe antes de aplicar otra funcion para ver medidas y luego mostrarla para unas imagenes dice que existe y para otras no. Despues de probarlo todo me he dado cuenta que si esa imagen la sustituyo por otra con el mismo nombre si funciona. Osea es problema del archivo jpg, algunos archivos de imagen jpg tienen algo no se que que da error a la hora de de que file_exists hace la comprobacion

Etiquetas: file_exists, wordpress
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 17:41.