Foros del Web » Programando para Internet » PHP »

Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Estas en el tema de Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http' en el foro de PHP en Foros del Web. Amigos del foro, necesito una mano por favor. Hace dos dias que vengo buscando en toda la web y no encuentro solucion a este problema. ...
  #1 (permalink)  
Antiguo 08/01/2011, 12:06
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Amigos del foro, necesito una mano por favor.
Hace dos dias que vengo buscando en toda la web y no encuentro solucion a este problema.

No me funciona la funcion getImageSize cuando la ruta de la img la direcciono sobre el servidor.

Esta falla solamente la hace con rutas de servidor ('http://'), no con rutas relativas (./)


Esto funciona:
Código PHP:
$tam=getimagesize('test.jpg'); 

Esto NO FUNCIONA y es lo que necesito que funcione:
Código PHP:
$tam=getimagesize('http://localhost/test/test.jpg'); 
Y el servidor, se cuelga un rato me arroja el siguiente error:

Warning: getimagesize(http://localhost/test/test.jpg) [function.getimagesize]: failed to open stream: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. in C:\xampp\htdocs\test\t1.php on line 10


La ruta de la imagen es la correcta, pongo en el navegador:
http://localhost/test/test.jpg y me muestra la imagen joya.

No se si sera por mi configuracion de php.ini en el cual puse:

allow_url_fopen = On
allow_fopen = On
allow_url_open = On


Porfa, una manito con esto pls!
Sinceramente se me acabaron todas las ideas...
Abrazo
  #2 (permalink)  
Antiguo 08/01/2011, 12:47
 
Fecha de Ingreso: enero-2011
Mensajes: 44
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

prueba asi:

Código PHP:
<?php
list($width$height$type$attr) = getimagesize("test/test.jpg");
echo 
"<img src=\"test/test.jpg\" $attr alt=\"getimagesize() example\" />";
?>
con eso te deberia mostrar la imagen.
  #3 (permalink)  
Antiguo 08/01/2011, 13:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

El problema es que getimagesize esta diseñada para trabajar con archivos directos, no con urls, el que puedas usar urls es porque internamente PHP hace una petición HTTP para intentar descargar el archivo.

El error que te indica es porque la url que tienes no existe o PHP no pudo hacer contacto con el sitio para poder descargar la imagen y obtener sus datos.

Saludos.
  #4 (permalink)  
Antiguo 08/01/2011, 13:19
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Sip, eso funciona, como lo mencione las rutas relativas funcionan.

Pero lo que no funciona son las absolutas al server, o sea las que tienen "http://" y justamente esa forma es la que tengo que hacer funcionar.

Caso contrario tendre que retocar mas de 30programas..
  #5 (permalink)  
Antiguo 08/01/2011, 13:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Cita:
Iniciado por PHP
Si PHP ha decidido que filename especifica un archivo local, intentará abrir un flujo para ese archivo. El archivo debe ser accesible para PHP, por lo que se necesita asegurarse de que los permisos de acceso del archivo permiten este acceso. Si está habilitado el safe mode, o open_basedir se pueden aplicar más restricciones.
Mas info en: http://www.php.net/manual/es/function.fopen.php

GatorV, segun el manual de PHP, la funcion getimagesize si permite acceso a archivos remotos:

Cita:
Iniciado por PHP
Fielname: Este parámetro especifica el archivo del que se quiere recuperar información. Puede referenciar a un archivo local o (si la configuración lo permite) a un archivo remoto usando uno de los flujos soportados.

http://www.php.net/manual/es/function.getimagesize.php
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 08/01/2011, 13:25
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

GatorV, el servidor puede hacer contacto.

por que si en el browser pongo:
http://localhost/test/test.jpg y me muestra la imagen joya.

Esto siempre me funciono, en localhost y en remoto.

Pero acabo poner win7 en mi pc y actualizar mi version de php por medio del paquete xampp 1.7.1 con PHP: 5.2.9 y aparecieron estas fallas...

No se porque la no me esta funcionando..

Me esta volviendo loco.

Gracias!
  #7 (permalink)  
Antiguo 08/01/2011, 13:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Pues el warning indica otra cosa, y no es un error de PHP como tal si no es de tu Sistema Operativo, ya que internamente PHP usa las funciones nativas de tu SO para hacer el contacto, y si lees el error dice que el host no respondio adecuadamente, puede que tengas algún firewall o antivirus que preventa contactos a tu mismo server.

Saludos.
  #8 (permalink)  
Antiguo 08/01/2011, 14:04
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Grax GatorV
Deshabilite mi antivirus (avast)
y nada.

El firewall en win 7 no se como desactivarlo...
  #9 (permalink)  
Antiguo 08/01/2011, 22:47
Avatar de nublar
(Desactivado)
 
Fecha de Ingreso: octubre-2003
Ubicación: Argentina - BsAs
Mensajes: 321
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: Ayuda porfis! Func. getimagesize no funciona con rutas que tengan 'http'

Bueno tambien he encontrado la forma de dehabilitar el firewall.

Tampoco funciono.

Seria bueno encontrar que falla con getimagesize + php 5.2 y win 7.
Vi muchos posteos en foros y no se le encuentra la vuelta a este tema.

La única solución al momento, que en realidad no es un solución sino una forma de parche....

es REEMPLAZAR las rutas relativas al server (ej http://localhost/test/test.jpg) por
la DIRECCIÓN RELATIVA (ej ./test.jpg)

Etiquetas: getimagesize
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 06:19.