PHP - forzar descarga de imagen generada

   
Vista:
Imágen de perfil de siREZ

forzar descarga de imagen generada

Publicado por siREZ (201 intervenciones) el 20/01/2014 17:45:09
Cordial saludo.

estoy generando una imagen online con un texto.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
session_start();
$cadena= $_SESSION['nombre_usuario'];
header("Content-type: image/png");
$im     = imagecreatefrompng("../images/boton1.png");
$naranja = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($cadena)) / 2;
imagestring($im, 3, $px, 9, $cadena, $naranja);
imagepng($im);
imagedestroy($im);
 
?>

deseo que una vez sea generada se force la descarga al DD del usuario

gracias.


siREZ
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Carolina

forzar descarga de imagen generada

Publicado por Carolina (6 intervenciones) el 21/01/2014 20:02:52
Hola, siREZ.
Para que el navegador tome el archivo como una descarga se usa generalmente la función readfile().
Pero ésta requiere una URL, vale decir y en tu caso, que tu imagen ya exista en el server.
Si piensas usarla, tendrías que guardar la imagen recién creada, en un archivo en el server, y luego pasarle esta dirección a readfile(). Tras esto, tendrías que agregar una rutina que elimine el archivo una vez terminada la descarga, para que no te sature el servidor.
Espero que te sirva esta función, igual lee la referencia en el sitio oficial (http://us1.php.net/manual/es/function.readfile.php).
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de siREZ

forzar descarga de imagen generada

Publicado por siREZ (201 intervenciones) el 21/01/2014 20:14:00
http://us1.php.net/manual/es/function.readfile.php

es correcto, así se descarga.

muchas gracias por tu pronta y acertada respuesta.


siREZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar