Lunes 23 de Diciembre de 2024, 05:04
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
PHP
(Moderador:
F_Tanori
) »
Insertar Imágenes A Traves De Archivos Binarios
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Insertar Imágenes A Traves De Archivos Binarios (Leído 1395 veces)
zaida20
Miembro MUY activo
Mensajes: 213
Insertar Imágenes A Traves De Archivos Binarios
«
en:
Jueves 7 de Junio de 2007, 11:51 »
0
Hola:
Soy nueva en el foro, y tengo un problema. Quiero insertar imágenes en mysql a través de php, transformando las imágenes a archivos binarios, he conseguido hacerlo mostrándome solo una imagen. Éste es el código:
Código: Text
<?php
//conexion
$dp_di="localhost";
$usuario_db="root";
$clave_db=NULL;
$conexion=mysql_connect($dp_di,$usuario_db,$clave_db);
if($conexion==NULL)
{
printf("Error");
}
//conectamos con la bd utopia
$db='utopia';
mysql_select_db($db,$conexion);
ob_start();
// Abro el archivo de imagen para cargar sus contenidos
$archivo = 'sin_ruta/2.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 = getimagesize($archivo);
if ($isize)
$tipo_mime = $isize['archivo_binario'];
// La guardamos en la BD
$datos = base64_encode ($datos);
$sql = "INSERT INTO archivos (archivo_binario) VALUES ('$datos')";
$res = mysql_query($sql);
if (!$res)
echo "Error al ejecutar la consulta ($sql)\n";
//hacemos el select.
$sql = "SELECT archivo_binario FROM archivos where id=28";
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");
if($consulta!=NULL)
{
if(mysql_num_rows($consulta)!=0)
{
$datos=mysql_fetch_array($consulta);
echo base64_decode($datos['archivo_binario']);
}
}
}
?>
El problema viene cuando quiero que se muestren todas las imágenes que contiene la tabla de mysql, éste es el código:
Código: Text
<?php
//conexion
$dp_di="localhost";
$usuario_db="root";
$clave_db=NULL;
$conexion=mysql_connect($dp_di,$usuario_db,$clave_db);
if($conexion==NULL)
{
printf("Error");
}
//conectamos con la bd utopia
$db='utopia';
mysql_select_db($db,$conexion);
ob_start();
// Abro el archivo de imagen para cargar sus contenidos
$archivo = 'sin_ruta/2.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 = getimagesize($archivo);
if ($isize)
$tipo_mime = $isize['archivo_binario'];
// La guardamos en la BD
$datos = base64_encode ($datos);
$sql = "INSERT INTO archivos (archivo_binario) VALUES ('$datos')";
$res = mysql_query($sql);
if (!$res)
echo "Error al ejecutar la consulta ($sql)\n";
//hacemos el select.
$sql = "SELECT archivo_binario FROM archivos";
$consulta = mysql_query($sql) or die ("No se pudo ejecutar la consulta");
$i=0;
if($consulta!=NULL)
{
if(mysql_num_rows($consulta)!=0)
{
while ($datos=mysql_fetch_array($consulta))
{
$archivo_bin[$i]=$datos['archivos_binarios'];
$pepe[$i]=base64_decode($archivo_bin[$i]);
//header ('Content-Type: image/jpeg');
echo base64_decode($datos['archivo_binario']);
echo $pepe[$i];
echo $i;
$i++;
}
}
}
}
?>
No me funciona, sólo me muestra una imagen. ¿Alquien puede ayudarme?
Muchas gracias
Saludos:
Tweet
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----
F_Tanori
Moderador
Mensajes: 1919
Nacionalidad:
Re: Insertar Imágenes A Traves De Archivos Binarios
«
Respuesta #1 en:
Jueves 7 de Junio de 2007, 13:20 »
0
Hola
no se si tu metodo de Inserción este funcionadote bien
pero en este caso para leer todas las imagenes seria conveniente que cree un archivo que lea la imagen con la cabecera apropiada por ejemplo
con este archivo desplegarias en una tabla (HTML) los las imagenes contenida en la tabla de MySQL
galeria.php
Código: Text
<?php
//conexion
$dp_di="localhost";
$usuario_db="root";
$clave_db="";
$conexion=mysql_connect($dp_di,$usuario_db,$clave_db);
$id=$_GET['id'];
if($conexion)
{
$db='is';
mysql_select_db($db,$conexion);
ob_start();
$sql = "SELECT id FROM empleados";
$consulta = mysql_query($sql);
if($consulta)
{
echo "<table border='1'>";
while ($datos=mysql_fetch_array($consulta))
{
echo "<td><td><img src='imagen.php?id=".$datos['id']."' width='190px' height='90px'></td></tr>\n";
}
echo "</table>";
}
}
?>
imagen.php
Este archivo procesa el campo blob
Código: Text
<?php
header ('Content-Type: image/jpeg');
//conexion
$dp_di="localhost";
$usuario_db="root";
$clave_db="";
$conexion=mysql_connect($dp_di,$usuario_db,$clave_db);
$id=$_GET['id'];
if($conexion)
{
$db='is';
mysql_select_db($db,$conexion);
ob_start();
$sql = "SELECT foto FROM empleados WHERE id='$id'";
$consulta = mysql_query($sql);
if($consulta)
{
$datos=mysql_fetch_array($consulta);
echo $datos['foto'];
}
}
?>
aqui hay una manera de insertar
http://www.buayacorp.com/archivos/guardar-...-blob-de-mysql/
Para Leer
http://www.buayacorp.com/archivos/mostrar-...sql-usando-php/
aunque no se si tu metodo funciones yo hice pruebas con unas tablas que ya contienen imagenes
y es una idea
supongo que hay mas ......
Espero te sea de ayuda
Saludos
" ExIsTo y A vEcEs PiEnSo "
NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================
zaida20
Miembro MUY activo
Mensajes: 213
Re: Insertar Imágenes A Traves De Archivos Binarios
«
Respuesta #2 en:
Jueves 7 de Junio de 2007, 13:30 »
0
Muchas gracias F_Tanori
Lo he conseguido con un código que he encontrado en éste foro, de todas formas probaré con el tuyo haber que tal.
Muchisimas gracias!!!!
Saludos:
---- Las oportunidades que se te presentan son las que son y ellas te llevarán a la felicidad ----
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
PHP
(Moderador:
F_Tanori
) »
Insertar Imágenes A Traves De Archivos Binarios