![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
24/02/2009, 10:55
|
| | Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 16 años, 1 mes Puntos: 0 | |
Respuesta: Guardar una imagen Ok muy bien me guarda una imagen en la bd, pero despues de ello, no me deja agregar mas: quiero tambien que me deje solo almecenar imagenes con formato jpeg y en un determinado tamaño.. gracias.. adjunto los archivos php.. formulario.php
<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
<?php
//Primero, arranca el bloque PHP y checkea 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;
}
//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","root","") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("metrologia",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.
// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;
// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$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 fotos (id_foto, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) 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: listar_imagenes.php"); // si ha ido todo bien
exit;
?> ver.php
<?php
if(isset($_GET['id'])) {
// you may have to modify login information for your database server:
$conexion=mysql_connect("localhost","root","") or die ("no se ha podido conectar a la BD");
mysql_select_db("metrologia") or die ("no se ha podido seleccionar la BD");
$sql = "SELECT archivo_nombre,archivo_binario,archivo_tipo,archiv o_peso FROM fotos WHERE id_foto='".$_GET['id_foto']."'";
$consulta = mysql_query($sql,$conexion);
$datos = mysql_result($consulta,0,"archivo_binario");
$tipo = mysql_result($consulta,0,"archivo_tipo");
$nombre = mysql_result($consulta,0,"archivo_nombre");
$peso = mysql_result($consulta,0,"archivo_peso");
header("Content-type: $tipo");
header("Content-length: $peso");
header("Content-Disposition: inline; filename=$nombre");
echo $datos;
}
?> listar_imagenes.php
<?php
mysql_connect("localhost","root","") or die ("no se ha podido conectar a la BD");
mysql_select_db("metrologia") or die ("no se ha podido seleccionar la BD");
$sql = "SELECT id_foto,archivo_nombre,archivo_tipo,archivo_peso FROM fotos";
$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_foto']."\">";
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>";
}
?> |