Foros del Web » Programando para Internet » PHP »

Función php, me devuelve siempre false

Estas en el tema de Función php, me devuelve siempre false en el foro de PHP en Foros del Web. Creé una function PHP para ver si una url, es una imagen / avatar, pero tengo el problema de que siempre me devuelve false. (Probé ...
  #1 (permalink)  
Antiguo 12/03/2011, 18:21
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Función php, me devuelve siempre false

Creé una function PHP para ver si una url, es una imagen / avatar, pero tengo el problema de que siempre me devuelve false. (Probé el código en localhost y me anda a la perfección)

Código PHP:
Ver original
  1. function ComprobarAvatar($valor) {
  2. if(@imagecreatefrompng($valor) == true || @imagecreatefromgif($valor) == true || @imagecreatefromjpeg($valor) == true) {
  3. return true;
  4. } else {
  5. return false;
  6. }
  7. }

¿Cuál es el error?
  #2 (permalink)  
Antiguo 12/03/2011, 18:45
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: Función php, me devuelve siempre false

Lamento decirte que tu condición nunca se va cumplir de la forma en la que lo estas haciendo, ya que las funciones imagecretefroxxx devuelven un recurso si es una imagen y false si hay error, así que cambia la condición.
__________________
Saludos.
  #3 (permalink)  
Antiguo 12/03/2011, 19:00
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Función php, me devuelve siempre false

Seguí tu consejo de cambiar la condición, y lo dejé de la siguiente forma:
Código PHP:
Ver original
  1. function ComprobarAvatar($valor) {
  2. if(@imagecreatefrompng($valor) == false && @imagecreatefromgif($valor) == false && @imagecreatefromjpeg($valor) == false) {
  3. return false;
  4. } else {
  5. return true;
  6. }
  7. }

Lo probé en localhost y anda perfecto, pero lo probé en el sitio y me tira siempre false (Me faltó agregar que tengo una condición en la cual coloque que si ComprobarAvatar($avatar) == false que enviara un error) Entonces siempre me dice error, hice imprimir el $avatar y aparece perfecto, pero no sé por qué me tira false siempre.
P.D: El hosting es de pago y tiene habilitada la librería GD.
  #4 (permalink)  
Antiguo 12/03/2011, 22:54
 
Fecha de Ingreso: mayo-2010
Mensajes: 84
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Función php, me devuelve siempre false

Hola,
Fijate si en el php.ini del servidor está activado el :
allow_url_fopen "1"
  #5 (permalink)  
Antiguo 14/03/2011, 17:56
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Función php, me devuelve siempre false

Lo acabo de verificar y me aparece:
Cita:
allow_url_fopen Off Off
Lo verifiqué con phpinfo. ¿Cuál sería el error?
  #6 (permalink)  
Antiguo 14/03/2011, 18:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Función php, me devuelve siempre false

Cita:
Iniciado por Miguelithox Ver Mensaje
Lo acabo de verificar y me aparece:


Lo verifiqué con phpinfo. ¿Cuál sería el error?
el error es que debería estar en On para que funcione...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 14/03/2011, 18:10
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: Función php, me devuelve siempre false

Cita:
Iniciado por pateketrueke Ver Mensaje
el error es que debería estar en On para que funcione...
De eso ya estoy seguro jaja. Ya lo solucioné lo que hice fue lo siguiente:
Cree un archivo php.ini con el siguiente código:
Cita:
allow_url_fopen = On;
(Cuidado que el código es bastante extenso, se te demorará un día entero en cargar D:)

Guardas el archivo y lo subes en la raíz de tu sitio (public_html o htdocs)
Saludos.

Etiquetas: siempre
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 11:46.