Foros del Web » Programando para Internet » PHP »

Generar imagenes que se muestren una vez y luego borrarlas

Estas en el tema de Generar imagenes que se muestren una vez y luego borrarlas en el foro de PHP en Foros del Web. Amigos; no sé si he acertado poniendo el título: Tengo el siguiente problema que no puedo resolver: Genero una imagen con GD (con la librería ...
  #1 (permalink)  
Antiguo 20/09/2009, 08:57
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años
Puntos: 4
Generar imagenes que se muestren una vez y luego borrarlas

Amigos; no sé si he acertado poniendo el título:

Tengo el siguiente problema que no puedo resolver:

Genero una imagen con GD (con la librería jpgraph) y recojo la respuesta con ajax. El tema es que no sé como mostrarla; ahora lo que hago es que genero un archivo .png (para hacer las pruebas) pero no quiero generar un archivo, lo que quiero es usar la función imagegd2() o imagegd() para mostrar la imagen y luego imagedestroy(), sin embargo, uso ajax y claro, me muestra la imagen como texto plano.

Saludos.
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #2 (permalink)  
Antiguo 20/09/2009, 08:58
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

cargas la imagen con las cabeceras correspondientes?
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 20/09/2009, 09:47
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años
Puntos: 4
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

sí, pero no sé si lo estoy haciendo bien:

En el php:

Código PHP:
<?php

header
("Content-type: imagen/png");

?>
Luego dentro del objeto xmlHttpRequest(), ¿qué hago? ¿uso el responseXML, el responseText? no me funciona nada
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #4 (permalink)  
Antiguo 20/09/2009, 09:50
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

header("Content-type: imagen/png"); es asi
header("Content-type: image/png");
  #5 (permalink)  
Antiguo 20/09/2009, 09:52
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años
Puntos: 4
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

Si bueno, ha sido una errata, no he copiado y pegado el código... la librería jpgraph manda las cabeceras correctamente.

El problema creo yo que es con ajax no sé como mostrar la respuesta, viene con las cabeceras correctamente.
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #6 (permalink)  
Antiguo 20/09/2009, 11:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

la idea es que solo una etiqueta <img/> puede cargar correctamente una imagen...

entonces, necesitas con tu Ajax cargar la repuesta directamente en el atributo src de alguna imagen... osea, debes estudiar el objeto imagen (que eso no es PHP) del navegador

cuando intentes cargar el script via Ajax, no lo hagas por el método tradicional.... usa entonces el atributo src como te comento, así, se ejecuta el script PHP en el server... envía la imagen que la etiqueta <img/> carga correctamente, bingo!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 20/09/2009, 11:14
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años
Puntos: 4
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

Hola viejo amigo... pues he intentado justo eso. Crear la etiqueta img con DOM y luego atribuirle: img.src = "script.php" (algo así). Pero como envío por post un montón de datos para que se genere el gráfico, la cosa se complica mucho y no me sale imagen.
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #8 (permalink)  
Antiguo 20/09/2009, 17:42
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: Generar imagenes que se muestren una vez y luego borrarlas

Lo que puedes hacer es enviar con AJAX los valores al servidor, generar la imagen en un directorio temporal, y cuando cargues la respuesta en el cliente, checas si es un "ok" y entonces via DOM cargas la direccion temporal de la imagen.

Saludos.
  #9 (permalink)  
Antiguo 20/09/2009, 18:18
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años
Puntos: 4
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

Bueno GatorV. Eso es justo lo que hago actualmente. Pero... ¿cómo se gestiona un archivo temporal? Por ahora, como trabajo en local las estoy almacenando sin más, pero cuando esté público, ¿cuándo y como se borran las imágenes?¿Con cron-tab?¿ Hay alguna forma óptima de declarar un directorio como "temporal" y que el servidor se encargue sin más?

Muchas preguntas, pero creo que entiendes mi duda...
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
  #10 (permalink)  
Antiguo 20/09/2009, 18:21
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: Generar imagenes que se muestren una vez y luego borrarlas

No, en ese caso tienes que crear un script PHP que vaya "viendo" la fecha de creación de los archivos (filectime) y en base a eso vaya borrando los archivos más viejos.

Ese script posteriormente lo registras en el crontab para que se ejecute cada X tiempo y vaya borrando los archivos.

Otra opción es generar el array de datos con los parámetros necesarios que envias por AJAX, la guardas en una variable de sesión y luego mandas llamar con el tag <img> el script para generar la imagen y que esta lea los parámetros desde la sesión.

Saludos.
  #11 (permalink)  
Antiguo 21/09/2009, 06:20
Avatar de hvpareja  
Fecha de Ingreso: marzo-2007
Ubicación: En Vélez Málaga (Málaga)
Mensajes: 213
Antigüedad: 17 años
Puntos: 4
Respuesta: Generar imagenes que se muestren una vez y luego borrarlas

Bien, queda claro.
__________________
El mejor maestro es el eterno aprendiz.
http://hvpareja.wordpress.com/
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 09:37.