Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/05/2014, 10:57
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Escribir sobre una imagen y guardarla modificada en BD

Te complicas en vano. El tema de la posición del texto debes de tenerlo aparte y no estar repitiendo tantas líneas de código. Tranquilamente puedes unificar ambos formulario, pues al formulario de datos solamente haría falta añadirle un <input type = "file"> y una caja de texto para añadir el texto a la imagen. Finalmente, guardas la imagen en la carpeta del servidor, los datos de la persona y el nombre de la imagen generada.

inicio.html
Código HTML:
Ver original
  1. <form action = "fin.php" method = "post" enctype = "multipart/form-data">
  2.     Nombre: <input type = "text" name = "nombre" />
  3.     Apellidos: <input type = "text" name = "apellidos" />
  4.     Imagen: <input type = "file" name = "imagen" />
  5.     Texto: <input type = "text" name = "texto" />
  6.  
  7.     <input type = "submit" name = "enviar" />
  8. </form>

fin.php
Código PHP:
Ver original
  1. include "conexion.php";
  2. header("Content-type: image/png");
  3.  
  4. $cadena = $_POST["texto"];
  5. $imagen = "imagen-" . mt_rand(1000, 10000) . ".jpg";
  6. $nombre = mysql_real_escape_string(strip_tags($_POST["nombre"]));
  7. $apellidos = mysql_real_escape_string(strip_tags($_POST["apellidos"]));
  8.  
  9. $im     = imagecreatefrompng($_FILES["imagen"]["tmp_name"]);
  10. $color = imagecolorallocate($im, 220, 210, 60);
  11. $px     = (imagesx($im) - 7.5 * strlen($cadena)) / 2;
  12. imagestring($im, 3, $px, 9, $cadena, $color);
  13. imagepng($im);
  14. imagepng($im, "../imagenes/{$imagen}");
  15.  
  16. mysql_query(sprintf("INSERT INTO tabla (nombre, apellidos, imagen) VALUES ('%s', '%s', '%s')", $nombre, $apellidos, $imagen));

No incluyo el campo del Id porque asumo que es autoincremental, pero si no fuera así, añádelo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand