Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2008, 18:42
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 7 meses
Puntos: 15
Mostrar imagen con ruta guardada en mysql

Hola Amigos:

Ya he caminado todo el google y el foro pero no consigo como resolver esto. Tengo un código para guardar la ruta de una imagen en una tabla mysql y a su vez guardarla imagen en una carpeta que se llama foto y que está al mismo nivel que mis archivos donde está el formulario que tiene el file y el archivo que guarda los datos.

Este es mi form:

<form action="cargando.php" method="post" enctype="multipart/form-data" name="form1">
<table width="586" border="0" cellspacing="0" cellpadding="0">
<tr>
<th colspan="2" scope="row"><span class="Estilo4">Cargar Productos </span></th>
</tr>
<tr>
<th width="176" scope="row"><div align="justify" class="Estilo4 Estilo5">Nombre del Producto: </div></th>
<td width="410"><input name="textfield" type="text" size="50"></td>
</tr>
<tr>
<th scope="row"><div align="justify" class="Estilo4">Descripci&oacute;n:</div></th>
<td><textarea name="textarea" cols="40"></textarea></td>
</tr>
<tr>
<th scope="row"><div align="justify" class="Estilo4">Tallas:</div></th>
<td>&nbsp;</td>
</tr>
<tr>
<th scope="row"><div align="justify" class="Estilo4">Cantidad:</div></th>
<td><input name="textfield2" type="text" size="5"></td>
</tr>
<tr>
<th scope="row"><div align="justify" class="Estilo4">Precio:</div></th>
<td><input name="nombre" type="text" id="nombre"></td>
</tr>
<tr>
<th scope="row"><div align="justify" class="Estilo4">Foto:</div></th>
<td><input type="file" name="foto" id="foto"></td>
</tr>
<tr>
<th scope="row"><div align="justify"></div></th>
<td><input type="submit" name="Submit" value="Enviar"></td>
</tr>
<tr>
<th scope="row"><div align="justify"></div></th>
<td>&nbsp;</td>
</tr>
<tr>
<th scope="row"><div align="justify"></div></th>
<td>&nbsp;</td>
</tr>
</table>

Y el archivo cargando es asi:

<?
session_start();
// incluye los archivos de función para esta aplicación
require_once("../config.php");
//Recibo los datos que vienen por post
$archivo = $_FILES['foto']['name'];

$conex = db_connect();
if (!$conex)
return 0;

//Ahora rescatar el id del registro insertado con la funcion mysql_insert_id()

$id = mysql_insert_id();

//Generar el nuevo nombre para la imagen, asociado con el id del registro, para luego moverla a su posicion final

$nuevo_nombre = ( string ) $id. "_" .$_FILES['foto']['name'];

//Con la funcion move_uploaded_file mover el archivo a su posicion final, ojo con las rutas

move_uploaded_file($_FILES['foto']['tmp_name'], "fotos/$nuevo_nombre");

//Insercion de los datos, ojo la imagen se graba con su nombre original en la tabla (es un campo varchar)
$sql_ins = "INSERT INTO foto VALUES ('','$archivo')";
$res = mysql_query($sql_ins) or die ( "Error MySQL dice: " . mysql_error() );
?>

Esto me hace el trabajo pero quisiera saber:

1) como valido que sea una imagen gif, jpeg y jpg
2) Que tenga x tamaño
3) Como la recupero para mostrarla

tengo el archivo mostrar.php asi y se que está malo.

<?
session_start();
// incluye los archivos de función para esta aplicación
require_once("../config.php");
$conex = db_connect();
if (!$conex)
return 0;
$sql = "SELECT * FROM fotos";
$res = mysql_query($sql);
$row = mysql_fetch_array($res);
//mostrar la imagen
echo <img src="<? $row["ruta"] ?>;">;
?>

y me da el siguiente error Parse error: parse error, unexpected '<', expecting ',' or ';' in c:\appserv\www\phpmyadmin\probando\mostrar.php on line 12

Por favor ayudenme a resolver esto pues tengo dos días en ello y mi proyecto se atrasa. Estoy suuuuuper enredada!!!

Gracias a todos