Imagenes gd de PHP

EnZo

He echo un script en php para hacer imagenes mediant gd.

El caso es que necesito recoger variables $_GET y no me las recoge.

Alguno sabeis xq?

PiradoIV

Para recoger, por ejemplo, las variables de:

http://www.magdalenasdecolores.com/?a=1&b=2&c=3

Lo haces mediante:

<?php
echo $GET[a];
echo $
GET;
echo $_GET;
?>

Con eso te tendría que funcionar, podrías pegar parte del código donde tienes problemas.

Saludotes,
Pirado IV estuvo akí ;)

Carcass

#1 A lo mejor hay una versión antigua de PHP en tu servidor y no acepta aún $_GET... Prueba con $HTTP_GET_VARS

gohrum

EnZo

Si se como coger variables $GET, de hecho, casi todo lo que e echo asta ahora recogo variables $GET y van sin problemas. Antes las cogia ?foto=1 $foto

Pero puse el REGISTER_GLOBALS a off y ara las cogo $_GET['foto'] pero me va en todos laos menos en el script de las imagenes gd.

Aki va el pekeño script

Carcass es en localhost y la version es la 4.2 o algo asi :D


<?
$imgruta="../usuarios/" . $GET['user'] . "/fotos/" . $GET['foto'];
list($ancho,$alto)=getimagesize($imgruta);
Header("Content-type: image/jpeg");
$im=imagecreatefromjpeg($imgruta);

$letra=imagecolorallocate($im,255,238,238);
$color=imagecolorallocate($im,100,0,0);

imagefilledrectangle($im,0,$alto-15,90,$alto,$color);
imagerectangle($im,0,$alto-16,91,$alto+1,$letra);
imagestring($im,2,8,$alto-14,"Miweb.com",$letra);

Imagejpeg($im);

imagedestroy($im);

?>

Abreu

Has comprobado si la variable existe? Pon esto en la ultima linea y si no sale asegurate de que llamas bien a al script.

die($_GET[foto]);

EnZo

Comento otra duda que refiere a esto... Lo anterior ia lo e solucionao.

Se que las imagenes GIF no son compatibles con gd

Pero esque creo q BMP tmpc cndo dice en el manual oficial que si.

El caso es que tengo 3 script uno para jpg otro png y otro bmp y me van los dos menos el de bmp. (y esta todo correctisimo y revisado)

Sabeis xq?

PiradoIV

Prueba a usar la función imagetypes(), el ejemplo que ponen en el manual es:

<?php
echo 'Tu hosting soporta: ';
if (imagetypes() & IMG_GIF) {
echo 'GIF ';
}
if (imagetypes() & IMG_JPG) {
echo 'JPG ';
}
if (imagetypes() & IMG_PNG) {
echo 'PNG ';
}
if (imagetypes() & IMG_WBMP) {
echo 'WBMP ';
}
if (imagetypes() & IMG_XPM) {
echo 'XPM ';
}
?>

En concreto para WBMP, el manual dice que necesitas haber compilado PHP con GD 1.8 o superior.

Saludotes,
Pirado IV estuvo akí ;)

EnZo

Tu hosting soporta: JPG PNG WBMP :(

Y lo unico q modifico es esto:

JPG

header("Content-type: image/jpeg");
$im = imagecreatefromjpeg($imgruta);
imagejpeg($im);

PNG

header("Content-type: image/png");
$im = imagecreatefrompng($imgruta);
imagepng($im);

WBMP

header("Content-type: image/wbmp");
$im = imagecreatefromwbmp($imgruta);
imagewbmp($im);

Los 2 primeros me van y el 3º no xq? :'(

Abreu

Si no me equivoco GIF se elimino en GD 1.2, las versiones anteriores si que lo tienen, yo estoy usando una de estas y no he tenido ningun problema.

PD: Solo "toco" gifs y jpgs.

Carcass

#9 ¿Seguro que no funciona? A ver si va a ser que tu navegador no puede mostrar archivos de ese tipo...

EnZo

Lo he comprobado con html a pelo y si me va al poner una imagen bmp.

El caso es q cuando intenta cargarla no me da ningun error de php ni nada, me parece el signo de imagen no disponible.

Carcass

Pero es WBMP, no BMP... Es para WAP.

Prueba a poner en una sesión telnet (inicio->ejecutar... telnet):

open localhost 80

GET /pepito.php HTTP/1.1
host: localhost

Y dos enter... Cambiando pepito.php por la ruta del php (con sus parámetros) que tiene que dar la imagen y localhost por el nombre del host, claro jeje

Si sale todo el churro es que está bien y el navegador no lo acepta y si no sale nada, es que está mal.

EnZo

Am, esq si io pensaba q era lo mismo BMP q WBMP, el caso es que si son fotos que sube la gente, no creo q el formato WBMP sea muy usado, asi que mejor lo dejo con png y jpg ya q gif tmpc va :(

Asias carcass de toas formas. Porcierto e probao la conexion telnet y no me va, despues de estar un rato intentandolo dice error de conexion o algo asi.

Carcass

¿Tienes el Apache en el puerto 80? Que si lo tienes en otro, tienes que ponerlo en vez del 80 que puse, claro...

Abreu

De todas formas si guardas un gif animado como jpg sigue siendo animado. Un ejemplo: http://www.corrmunity.com/images/members/board/106.jpg

Lo que no se es si despues gd te deja editarlo :S

BlasterN

#16 eso no es un JPG... en un GIF y si no editalo con el bloc de notas y veras la cabecera típica de un GIF es decir.

GIF89aP d ö& „‚„Š[...]

Las imagenes Gif si que funcionan solo que debes hacer tu un script bastante jodido ( y que no pienso postear ).
Pero te doy pistas. Un GIF tiene una cabecera que la puedes buscar en google mismo y luego la ID es la paleta. Pues con eso puedes hacer un BMP y así redimensionarlas o lo que quieras. Estube "trabajando" con un coder de deviantart en esto y se termino haciendo así. Obviamente los GIFs animados van por otros derroteros y nunca supimos que hacer con ellos... si no me equivoco en deviantart se optó por dejarlos como estaban si eran pequeños y si eran grandes un icono base o el primar frame, pero la verdad es que hace mucho de eso y no lo recuerdo.

De todos modos puedes actualizar la librería GD por tu cuenta. http://www.boutell.com/gd/ ahora si permiten GIF aunq no se ha actualizado en el PHP si no recuerdo mal.

EnZo

esq mi servidor de php no soporta gif.
Ya lo e comprobao

Carcass

Bienvenido al mundo de las patentes...

Usuarios habituales

  • Carcass
  • EnZo
  • BlasterN
  • Abreu
  • PiradoIV
  • gohrum