Mostrar imágenes de base de datos con PHP

publicado por: Anonymous

Que tal, lo que quiero es mostrar imágenes que tengo almacenadas en una base de datos en MySQL, en una columna esta la ruta de las imágenes y las imágenes en una carpeta, esto con PHP para después utilizarlas en android, pero primero quiero visualizar las imágenes utilizando este código, a pesar de no marcar errores no muestra las imágenes, espero me puedan ayudar por favor.

La imagen se guarda en la base como:

http://127.0.1.1/uap/uploads/124.jpg

el 124 es el numero de id

PHP modificado:

$db = mysqli_connect("localhost","root","","reg"); 
$sql = "SELECT * FROM reportes2";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
$ruta = '<img src = http://127.0.1.1/uap/uploads/';
$ruta.=$result['url'];
$ruta.='">';
echo $ruta;
echo '<img src="data:url/jpeg;base64,'.base64_encode( $result['url'] 
).'"/>';
?>

PHP:

$db = mysqli_connect("localhost","root","","reg"); 
$sql = "SELECT * FROM reportes2";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
echo '<img src="data:url/jpeg;base64,'.base64_encode( $result['url'] ).'"/>';
?>

PHP para almacenar imagenes:

<?php

// Import db file.
require_once 'dbDetails.php';

// Upload folder.
$upload_path = 'uploads/';

// Get the server ip.
$server_ip = gethostbyname(gethostname());

// Create upload url.
$upload_url = 'http://' . $server_ip . '/userapp/' . $upload_path;

//response array 
$response = array();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
.
.
.

solución

Si :

  • Todas las imágenes se encuentran en esta carpeta: uap/uploads
  • En la columna url de la base de datos tienes datos como estos: 124.jpg

Entonces puedes proceder así:

Dado que la parte primera nunca cambia, puedes definir una variable fuera del bucle, y dentro agregarle los valores dinámicos.

Luego en el bucle, necesitas un array asociativo, no estoy seguro que fecht_array lo cree por defecto, así que mejor le decimos el tipo de array que queremos.

El código sería así más o menos:

$ruta = '<img src="http://127.0.1.1/uap/uploads/';
$result=$db->query($sql);

while($row = $result->fetch_array(MYSQLI_ASSOC))
{
    /*Concatenamos el valor fijo a cada valor en la columna url*/
    $img_url=$ruta.$row['url'];

    /*Completamos la cadena*/
    $img_url.='">';

    /*Imprimimos ESTA imagen*/
    echo $img_url;
}

Para que funcione debes asegurarte que:

  • La conexión a la base de datos funciona y que la consulta está arrojando datos
  • Al escribir URLs como esta en el navegador http://127.0.1.1/uap/uploads/124.jpg puedes en efecto ver una imagen.
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *