InicioReviewssubir imágenes con php y mysql

subir imágenes con php y mysql

Reviews4/4/2012

He estado buscando como subir imágenes a MySQL con PHP y he encontrado los siguientes ejemplos:


Codigo SQL

Código: [Seleccionar]
CREATE TABLE `imagenes` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(30) NOT NULL default '',
`tipo` varchar(30) NOT NULL default '',
`descripcion` varchar(255) NOT NULL default '',
`fecha` varchar(255) NOT NULL default '',
`ip` varchar(255) NOT NULL default '',
`imagen` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
Como veis he usado un campo de tipo mediumblob pero tambien podeis blob, tinyblob, longblob,…

UPLOADER

<?PHP
//Conexion
if (isset($_POST['enviar']))
{
$tipos = array(“image/gif”,“image/jpeg”,“image/bmp”,“image/pjpeg”);
$maximo = 102400; //100Kb
if (is_uploaded_file($_FILES['imagen']['tmp_name']))
{ // Se ha subido?
if (in_array($_FILES['imagen']['type'],$tipos) && $_FILES['imagen']['size'] <= $maximo)
{ // Es correcto?
$fp = fopen($_FILES['imagen']['tmp_name'], ‘r’); //Abrimos la imagen
$imagen = fread($fp, filesize($_FILES['imagen']['tmp_name'])); //Extraemos el contenido de la imagen
$imagen = addslashes($imagen);
fclose($fp); //Cerramos imagen
if(!get_magic_quotes_gpc())
$nombre = addslashes($_FILES['imagen']['name']); // Arreglamos el Nombre
else $nombre = $_FILES['imagen']['name'];

$query = “INSERT INTO `imagenes` (imagen,nombre,tipo,descripcion,fecha,ip) VALUES “;
$query.= “(‘”.$imagen.“‘,’”.$nombre.“‘,’”.$_FILES['imagen']['type'].“‘,’”;
$query.= mysql_real_escape_string($_POST['descripcion']).“‘,’”;
$query.= date(“d/m/y”,time()).“‘,’”.$_SERVER['REMOTE_ADDR'].“‘)”;

if (mysql_query($query)) echo ‘src=”visor.php?mostrar=’.mysql_insert_id().‘”>’;
else echo mysql_error();
} else echo “El formato del archivo no es correcto o es mayor de 100Kb”;
} else echo “La imagen no ha sido subida”;
}
//Desconexion DB
?>
enctype=”multipart/form-data” method=”POST”>
Imagen: type=”file” name=”imagen” />

Breve Descripcion: (Opcional)

type=”submit” name=”enviar” value=”Enviar” />

VISOR
<?PHP
if (is_numeric($_GET['mostrar']))
{
// Conexion a la Base de Datos
$query = mysql_query(“SELECT * FROM `imagenes` WHERE id = ‘”.$_GET['mostrar'].“‘”) or exit();
if (!mysql_num_rows($query)) exit(header(“HTTP/1.0 404 Not Found”));
$datos = mysql_fetch_array($query);
header(“Content-Type: “.$datos['tipo']);
echo $datos['imagen'];
//Desconexion
}
else header(“HTTP/1.0 404 Not Found”);
?>
Datos archivados del Taringa! original
0puntos
951visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

S
SUARTES🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.