Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/01/2013, 16:44
Avatar de CMushroom
CMushroom
 
Fecha de Ingreso: diciembre-2011
Ubicación: Morelos
Mensajes: 99
Antigüedad: 13 años
Puntos: 1
Respuesta: ¿Se puede agregar una foto a una base de datos mysql?

Parte 1 archivo "cargar_archivo.php"

<?php

if (@$_POST['enviado'] == 1)
{
$conexion = mysql_connect("localhost",'root','');
mysql_select_db("conamed",$conexion);

//obtenemos el archivo y sus caracteristicas
$archivo = $_FILES['archivo']['tmp_name'];
$tamaño_archivo = $_FILES['archivo']['size'];
$tipo_archivo = $_FILES['archivo']['type'];
$nombre_archivo = $_FILES['archivo']['name'];

//creamos un arreglo con los tipos de imagenes que vamos a aceptar
$mimetypes = array("image/jpeg", "image/gif", "image/png", "image/bmp");

if (!in_array($tipo_archivo,$mimetypes))
{
echo "El tipo de imagen no es valida: tipo_archivo";
exit();
}

switch($tipo_archivo)
{
case $mimetypes[0]:
$imagen = imagecreatefromjpeg($archivo);
break;
case $mimetypes[1]:
$imagen = imagecreatefromgif($archivo);
break;
case $mimetypes[2]:
$imagen = imagecreatefrompng($archivo);
break;
}

// Abrimos el archivo como solo lectura,leemos y el contenido lo asignamos a una variable.
$archivo_abierto = fopen($archivo, "rb");
$contenido = fread($archivo_abierto, filesize($archivo));
$contenido = addslashes($contenido);
fclose($archivo_abierto);

$consulta = "INSERT INTO tabla VALUES ('','$_POST[titulo]','$contenido','tipo_archivo')";
mysql_query($consulta,$conexion) or die(mysql_error());

header("Location: mostrar_imagenes.php");
}
?>

<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<br>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nombre de la imagen</td>
<td><input name="titulo" type="text" ></td>
</tr>
<tr>
<td>Tipo de Imagen (gif, jpg, png)</td>
<td><input name="archivo" type="file" ></td>
</tr>
<tr>
<td><input type="hidden" name="enviado" value="1"></td>
<td><input name="Enviar" type="submit" value="Enviar archivo"></td>
</tr>
</table>
</form>