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
Me suena a un problema de tu hosting, tal como decis, alguna limitación de llamadas externas o algo así
La unica diferencia que encuentro es que el hosting tiene la version 4.4.4 y yo la 5...podrá ser eso?
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:
"http://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
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 :-\
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&#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 "<p style=background-image:url("".$imageurl."");width:".$width.";height:".$height."></p>";
echo "<hr>";
$codigo[$i] = "<p style=background-image:url("".$imageurl."");width:".$width.";height:".$height."></p>";
}
}
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/
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
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 :(
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
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: