Php Imagenes Y Datos

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Php Imagenes Y Datos as PDF for free.

More details

  • Words: 409
  • Pages: 2
SELECT * FROM Tabla ORDER BY RAND() LIMIT 1 limit 1, determina que unicamente se muestre un registro. ---------------------------------------------C�mo almacenar una imagen en MySQL (SQL)? Un amigo me preguntaba por email, c�mo podr�a guardar las im�genes de su p�gina web dentro de su base de datos mysql. Aqu� os pongo un trozo de c�digo que puede ayudaros para esta tarea: - Empezamos por la tabla que contendr� las im�genes: C�digo: CREATE TABLE imagenes ( id INT NOT NULL DEFAULT 0 auto_increment, imagen LONGBLOB, tipo VARCHAR(255), PRIMARY KEY (id) ); el campo "imagen" contendr� la imagen propiamente dicha (los datos binarios) y el campo "tipo" contendr� el tipo MIME que identifica el formato de la imagen (p. ej. image/gif). Por supuesto esta tabla puede ser alterada, modificada, etc. para cubrir vuestras necesidades espec�ficas. El tipo de datos BLOB (BLOB, MEDIUMBLOB y LONGBLOB) es el usado por MySQL para almacenar datos binarios. A continuaci�n muestro un ejemplo de como almacenar una imagen en esta tabla que hemos creado: C�digo: // Abro el archivo de imagen para cargar sus contenidos $archivo = 'images/foto01.jpg'; $fp = fopen ($archivo, 'r'); if ($fp){ $datos = fread ($fp, filesize ($archivo)); // cargo la imagen fclose($fp); // averiguo su tipo mime $tipo_mime = 'image/jpeg'; $isize = imagesize ($archivo); if ($isize) $tipo_mime = $isize['mime']; // La guardamos en la BD $datos = base64_encode ($datos); $sql = "INSERT INTO imagenes (imagen, tipo) VALUES ('$datos', '$tipo_mime'); $res = mysql_query($sql); if (!$res) echo "Error al ejecutar la consulta ($sql)\n"; }

else echo "Error al abrir el archivo";

Para recuperar la imagen de la base de datos, el proceso que tendr�amos que seguir depende de cual queramos que sea el resultado. Imaginemos que lo �nico que queremos es recuperar la imagen de la base de datos y mostrarla en el navegador: C�digo: $id = intval ($_GET['id']); // imaginamos que el par�metro "id" nos llega en la URL (p. ej. imagen.php?id=5). $sql = "SELECT imagen, tipo FROM imagenes WHERE id='$id'"; $res = mysql_query ($sql); if ( $res AND mysql_num_rows($res)>0 ){ // se ha encontrado la imagen $datos = mysql_fetch_array ($res); // Indicamos al navegador el tipo de imagen que le vamos a enviar header ('Content-type: ' . $datos['tipo']); // Enviamos los datos binarios (la imagen) echo base64_decode($datos['imagen']); } else echo "Error al ejecutar la consulta ($sql)\n"; Bueno, espero que este c�digo os ayude y ya sabeis, si teneis alguna duda o problema para ponerlo en pr�ctica, estar� encantado de echaros una mano. ------------------------------------------------------

Related Documents