Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2013, 04:33
jakama
 
Fecha de Ingreso: marzo-2007
Mensajes: 31
Antigüedad: 17 años, 1 mes
Puntos: 0
(SOLUCIONADO) Ocultar URL de imagen al mostrarla desde MySql

Hola,

Ya que normalmente pregunto y me contestáis muy rápido y muy bien, hoy voy a aportar algo.

He estado buscando alguna forma de ocultar la URL de una imagen al mostrarla obteniendo la ruta de una base de datos.

Las opciones que siempre veía eran con Header y, como ya había escrito, me daba error.

Finalmente he encontrado una solución y la comparto aquí para quien la busque.

En la página propiamente dicha, donde queramos que se muestre la imagen llamamos a una función:

Código PHP:
Ver original
  1. <?php cargaimagen($id_imagen);?>

La función cargaimagen.php sería:

Código PHP:
Ver original
  1. function cargaimagen($id_imagen)
  2. {
  3.    
  4.     $sql = "SELECT ruta FROM imagenes WHERE id_imagen = '" . $id_imagen "';";
  5.     $res = mysql_query($sql) or die(mysql_error());
  6.     $a_row = mysql_fetch_array($res);
  7.    
  8.     $img_content = file_get_contents($a_row["ruta"]);
  9.  
  10.         $img_base64 = chunk_split(base64_encode($img_content));
  11.         echo "<img src=\"data:image/png;base64,$img_base64\" />";
  12.  
  13. }

Ojo, la función no tiene control de errores... pero si la imagen existe en el servidor, en la ruta que marca la base de datos, se muestra en el navegador sin dar pistas de la ruta.

Espero que os sirva.

Salu2.
Javi.
__________________
Tatuajes