Bueno lo primero que necesitamos es nuestra tabla
Luego el formulario por el cual se subira nuestra imagen
formulario.php
El archivo por el cual se insertara nuestra imagen en la Base de datos
insertar.php
Ahora el archivo para ver la imagen
ver.php
Y por ultimo el archivo para ver todas las imagenes guardadas en nuestra base de datos
imagenes.php
PD: Este Script no lo desarrolle yo pero tiene muchos cambios hechos por mi.
PD: Clickeen mi pokemon...
Código:
(CREATE) TABLE images (
id int(10) unsigned NOT NULL auto_increment,
image blob NOT NULL,
name varchar(255) NOT NULL default '',
weight varchar(15) NOT NULL default '',
type varchar(25) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
formulario.php
Código:
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
Archivo: <INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
</BODY>
</HTML>
insertar.php
Código:
<?php
//Primero, analiza si el archivo tiene nombre. Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}
//Establecemos una conexión con la base de datos.
$Host = "localhost";
$User = "root";
$Password = "pass";
$DataBase = "Midb";
$conexion = mysql_connect($Host,$User,$Password)
or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db($DataBase,$conexion)
or die("No se puede seleccionar BD");
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));
// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];
//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO images (id, image, name, weight, type) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion)
or die("No se pudo insertar los datos en la base de datos.");
header("location: imagenes.php");
exit;
?>
ver.php
Código:
<?php
if(isset($_GET['id'])) {
//Establecemos una conexión con la base de datos.
$Host = "localhost";
$User = "root";
$Password = "pass";
$DataBase = "Midb";
$conexion = mysql_connect($Host,$User,$Password)
or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db($DataBase,$conexion)
or die("No se puede seleccionar BD");
$sql = "SELECT name,image,type,weight FROM images WHERE id='".$_GET['id']."'";
$consulta = mysql_query($sql,$conexion);
$datos = mysql_result($consulta,0,"image");
$tipo = mysql_result($consulta,0,"type");
$nombre = mysql_result($consulta,0,"name");
$peso = mysql_result($consulta,0,"weight");
header("Content-type: $tipo");
header("Content-length: $peso");
header("Content-Disposition: inline; filename=$nombre");
echo $datos;
}
?>
imagenes.php
Código:
<?php
//Establecemos una conexión con la base de datos.
$Host = "localhost";
$User = "root";
$Password = "pass";
$DataBase = "Midb";
$conexion = mysql_connect($Host,$User,$Password)
or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db($DataBase,$conexion)
or die("No se puede seleccionar BD");
$sql = "SELECT id,name,type,weight FROM images";
$consulta = mysql_query($sql)
or die ("No se pudo ejecutar la consulta");
While ($registro=mysql_fetch_assoc($consulta)){
echo "<img src=\"ver.php?id=".$registro['id']."\">";
echo "<br> Nombre archivo: ".$registro['archivo_nombre'];
echo "<br> Tipo archivo (MIME formato): ".$registro['archivo_tipo'];
echo "<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>";
}
?>
PD: Clickeen mi pokemon...
