SUARTES
Usuario (México)
He estado buscando como subir imágenes a MySQL con PHP y he encontrado los siguientes ejemplos: Codigo SQL Código: 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”); ?>