¿Es esto posible con php y una base de datos mysql para convertir un blob en un archivo de imagen?Php: Convertir un blob en un archivo de imagen
Respuesta
Si el BLOB contiene los datos binarios de una imagen (en un formato reconocible como, por ejemplo, tiff, png, jpeg, etc.), toma el contenido del BLOB, escríbelo en un archivo y voilà ... tienes una imagen.
En algunos sistemas de operación extraños, debe dar al archivo de salida una extensión correspondiente para que el archivo de imagen pueda reconocerse como tal.
Si va a guardar imágenes en campo de tabla Blob MySQL y desea conseguir estas imágenes, entonces este artículo es útil para usted:
vistazo a la siguiente parte del artículo anterior:
<?php
if(isset($_REQUEST['id']))
{
// get the file with the id from database
include “dbconfig.php”;
$dbconn = mysql_connect($dbhost, $dbusr, $dbpass) or die(”Error Occurred-”.mysql_error());
mysql_select_db($dbname, $dbconn) or die(”Unable to select database”);
$id = $_ REQUEST ['id'];
$query = “SELECT `img_name`, `img_type`, `img_size`, `img_data`
FROM img_tbl WHERE id = ‘$id’”;
$result = mysql_query($query) or die(mysql_error());
list($name, $type, $size, $content) = mysql_fetch_array($result);
header(”Content-length: $size”);
header(”Content-type: $type”);
print $content;
mysql_close($dbconn);
}
?>
. Para cualquier persona que copie/pegue de este ejemplo, tenga en cuenta que usa mal comillas – kurdtpage
Puede utilizar algunos métodos diferentes según la biblioteca de imágenes php que tenga instalada. Aquí hay algunos ejemplos.
Nota, el eco <img> es solo un truco que utilizo para mostrar varias imágenes desde el mismo script php al pasar por un recurso de resultados MySQL. También podría salir a través de la cabecera() como se había mostrado @NAVEED.
GD:
$image = imagecreatefromstring($blob);
ob_start(); //You could also just output the $image via header() and bypass this buffer capture.
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/jpg;base64,' . base64_encode($data) . '" />';
ImageMagick (imagick):
$image = new Imagick();
$image->readimageblob($blob);
echo '<img src="data:image/png;base64,' . base64_encode($image->getimageblob()) . '" />';
GraphicsMagick (Gmagick):
$image = new Gmagick();
$image->readimageblob($blob);
echo '<img src="data:image/png;base64,' . base64_encode($image->getimageblob()) . '" />';
En mi caso, tuve que usar base64_decode para convertir las imágenes blob correctamente en el archivo.
$path = "/tmp/images";
$sql = "SELECT image_name, image_content FROM images";
$result = mysql_query($sql, $db_con);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $sql;
die($message);
}
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$image = $row["image_contents"];
$name = $row["image_name"];
// option 1
$file = fopen($path."/".$name,"w");
echo "File name: ".$path."$name\n";
fwrite($file, base64_decode($image));
fclose($file);
// option 2 (oneliner)
// file_put_contents($path."/".$name, base64_decode($image));
}
- 1. convertir imagen de blob a archivo en php
- 2. mostrando una imagen almacenada en un blob mysql
- 3. ¿Puedo convertir un archivo .swf a un formato de imagen?
- 4. Cómo convertir existir Blob Blob a PageBlob
- 5. php: Almacenar imagen en blob Mysql, ¿Bueno o malo?
- 6. Convertir un archivo cargado en un archivo
- 7. convertir texto a imagen en php
- 8. Validar que un archivo es una imagen en PHP
- 9. BLOB en SQL que almacena un archivo de video
- 10. Convertir imagen SVG a PNG con PHP
- 11. Devolución de un blob con json
- 12. ¿Cómo convertir un archivo en un diccionario?
- 13. Intentando leer un blob
- 14. Convertir un archivo .bak a .SQL archivo
- 15. ¿Puedo descomprimir un archivo en almacenamiento Azure Blob?
- 16. Insertar archivo en mysql Blob
- 17. Convertir archivo PHP a binario
- 18. Convertir la imagen en un cuadro de imagen en un mapa de bits
- 19. ¿Qué es un blob?
- 20. ¿Cómo puedo convertir un archivo JAR en un archivo EXE?
- 21. Convertir imagen a byte con php
- 22. Oracle Blob como img src en la página de PHP
- 23. Mostrar BLOB (imagen) a través de JSP
- 24. inserta un BLOB mediante un script sql?
- 25. Tengo un png codificado en base64, ¿cómo escribo la imagen en un archivo en PHP?
- 26. Cómo declarar un blob en SQL Server
- 27. Cómo convertir una matriz de bytes a blob
- 28. Convertir un byte arry en una imagen OpenCV en C++
- 29. Guardar salida de un archivo php en un archivo html
- 30. ¿Cómo guardar, exportar o convertir un Android XML Drawable como un archivo de imagen PNG?
Por favor, agrega más información. ¿Qué contiene el campo BLOB? ¿Que planeas hacer? –
si se trata de una imagen almacenada como BLOB, sí. –
¿Intentó configurar el encabezado y luego leer este blob? – k102