ARGENTOP2P

Soporte, Ayuda y Consultas => Programación en General => Mensaje publicado por: demono en Noviembre 30, 2008, 19:32:02

Título: PHP + Getimagesize = Problema
Publicado por: demono en Noviembre 30, 2008, 19:32:02
Hola, estoy desarrollando un script para generar código para la inserción de imágenes en distintos espacios de una Web. Ahora bien, ese código necesita ancho y alto en px de la imagen, para eso usé la funcion getimagesize. El script montado en mi PC funciona perfecto sin importar cuantas ponga, el tema viene a ser que al subirlo a mi hosting y al insertar varias imagenes (Dattach*t es el hosting, puede ser que por ahí venga el problema) me tira el siguiente error:

CitarWarning: getimagesize(http://images3.webpark.ru/uploads35/pipe_hotel_000.jpg ) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/od000105/public_html/mzarg2/generator.php on line 36

Lo curioso es que ese error aparece en todas las imagenes a excepción de la última por lo que asumo que será un problema de carga de las imágenes, aunque en mi PC eso funciona sin problemas).


URL del script subido al Hosting: http://skillermz.com/mzarg2/
URL del script montado en mi PC con Appserv: http://190.17.117.135/mzarg2/


Las lineas de código a las que hace referencia el error:

35 $imageurl = $imagenes[$i];
36 $tamaño = getimagesize($imageurl);
37
37
38 echo "<span class=arial><br><br><b>Código para Imagen:</b><br>".$imageurl."<br>";
39
40
41 $width=$tamaño[0];
42 $height=$tamaño[1];



Pueden probar con las siguientes URL (Peguenlas tal como están, una abajo de la otra)
http://images3.webpark.ru/uploads35/pipe_hotel_000.jpg
http://images3.webpark.ru/uploads35/pipe_hotel_001.jpg
http://images3.webpark.ru/uploads35/pipe_hotel_002.jpg
http://images3.webpark.ru/uploads35/pipe_hotel_003.jpg
http://images3.webpark.ru/uploads35/pipe_hotel_004.jpg
http://images3.webpark.ru/uploads35/pipe_hotel_005.jpg
http://images3.webpark.ru/uploads35/pipe_hotel_006.jpg
Título: Re: PHP + Getimagesize = Problema
Publicado por: Camello_AR en Noviembre 30, 2008, 22:07:14
Me suena a un problema de tu hosting, tal como decis, alguna limitación de llamadas externas o algo así
Título: Re: PHP + Getimagesize = Problema
Publicado por: demono en Noviembre 30, 2008, 22:17:22
La unica diferencia que encuentro es que el hosting tiene la version 4.4.4 y yo la 5...podrá ser eso?
Título: Re: PHP + Getimagesize = Problema
Publicado por: Predicador en Noviembre 30, 2008, 22:28:06
EDIT: perdon, acabo de ver el error verdadero asi que borre mi previo mensaje.
Fijate que te esta tomando las url de las imagenes mal:
"htt&#112://images3.webpark.ru/uploads35/pipe_hotel_000.jpg " <-- se ve ese espacio? entre la g y las comillas?
EDIT: por lo que veo en al salida de tu script, donde dice código generado, luego del nombre de la imagen hay un retorno de carro, eso esta haciendo que el getimagesize no ande.
Baii
Título: Re: PHP + Getimagesize = Problema
Publicado por: demono en Noviembre 30, 2008, 22:39:39
En efecto, esto parece ser asi. El tema es que sucede en todos menos en la última.

Armé el codigo para que reemplace el espacio (" ") por nada ("") y sigue igual.

$imageurl = $imagenes[$i];
$imageurl = str_replace ( " ", "", $imageurl );
echo $imageurl."-espacio";



En todos aparece
"http://images3.webpark.ru/uploads35/pipe_hotel_006.jpg -espacio"

Menos en la última que aparece
"http://images3.webpark.ru/uploads35/pipe_hotel_006.jpg-espacio"

Lo que me inquieta es que en mi PC aparecen todos como la útima imagen, sin espacio  :-\
Título: Re: PHP + Getimagesize = Problema
Publicado por: demono en Noviembre 30, 2008, 22:42:59
El código del script es el siguiente (Omito el form de arriba y el textarea de abajo ya que no vienen al caso)

$imagenes=$_POST["imagenes"];
$imagenes = str_replace ( "
", "^", $imagenes );
$imagenes = explode("^", $imagenes);
$cantidad = count($imagenes);
$i = 0;






for($i=0;$i<$cantidad;$i++)
{

if ($imagenes[$i]!="")
{
$imageurl = $imagenes[$i];
$tamaño = getimagesize($imageurl);


echo "<span class=arial><br><br><b>Código para Imagen:</b><br>".$imageurl."<br>";


$width=$tamaño[0];
$height=$tamaño[1];

echo "<b>Vista en miniatura</b><br>";
if ($width>150)
{
echo "<img src=".$imageurl." width=150><br>";
}
else
{
echo "<img src=".$imageurl."><br>";
}



$imageurl = str_replace ( "http://", "htt&amp;#112://", $imageurl );







echo "El ancho de la imagen es ".$width." y el alto ".$height."<br><br><b>Código para Guestbook / Foro:</b><br>";
echo "&lt;p style=background-image:url(&quot;".$imageurl."&quot;);width:".$width.";height:".$height."&gt;&lt;/p&gt;";

echo "<hr>";
$codigo[$i] = "&lt;p style=background-image:url(&quot;".$imageurl."&quot;);width:".$width.";height:".$height."&gt;&lt;/p&gt;";


}

}







Acabo de probar en otro hosting (Este en g2khosting, no en dattatec) y pasa lo mismo, no tira el error pero tampoco toma el tamaño de la imagen salvando en la última imagen

La URL del otro hosting:
http://relojes-express.com/mzarg2/
Título: Re: PHP + Getimagesize = Problema
Publicado por: Predicador en Noviembre 30, 2008, 22:52:42
Hola, a decir verdad el espacio no es un espacio, sino un retorno de carro.
Te recomiendo que cambies:
$imagenes=$_POST["imagenes"];
$imagenes = str_replace ( "
", "^", $imagenes );
$imagenes = explode("^", $imagenes);

por:
$imagenes = explode("\n", $_POST['imagenes']);
Y tu problema deberia estar resuelto (el \n es el avance de linea en los *nix, en tu maquina [windows] deberias poner \r\n).
Baii
Título: Re: PHP + Getimagesize = Problema
Publicado por: demono en Noviembre 30, 2008, 22:59:47
Cita de: Predicador en Noviembre 30, 2008, 22:52:42
Hola, a decir verdad el espacio no es un espacio, sino un retorno de carro.
Te recomiendo que cambies:
$imagenes=$_POST["imagenes"];
$imagenes = str_replace ( "
", "^", $imagenes );
$imagenes = explode("^", $imagenes);

por:
$imagenes = explode("\n", $_POST['imagenes']);
Y tu problema deberia estar resuelto (el \n es el avance de linea en los *nix, en tu maquina [windows] deberias poner \r\n).
Baii


Hecho y no funcionó, tira exactamente el mismo error y el espacio ese es lo que parece estar jodiendo  :(
Título: Re: PHP + Getimagesize = Problema
Publicado por: Predicador en Noviembre 30, 2008, 23:16:59
hmmm, que raro, eso deberia haber solucionado el problema!
A no ser que tu hosting este corriendo sobre windows, en tal caso deberias poner \r\n en vez de solo \n
Baii
Título: Re: PHP + Getimagesize = Problema
Publicado por: demono en Noviembre 30, 2008, 23:22:07
Cita de: Predicador en Noviembre 30, 2008, 23:16:59
hmmm, que raro, eso deberia haber solucionado el problema!
A no ser que tu hosting este corriendo sobre windows, en tal caso deberias poner \r\n en vez de solo \n
Baii

Ambos hosting corren Linux (Son hosting distintos, no creo que me esten cagando de los 2 lados), pero probé con \r\n y funcionó

Mil gracias predi, de verdad :wave: :wave: :wave: