hola de nuevo y gracias por la rapida respuesta.
os pongo aqui tanto la cracion de las tablas como la forma que tengo de guardarlas en la bd y d extraerlas...
creacion de las tablas:
Código PHP:
<?
$base="rafaelfoto";
if($c=mysql_connect ("localhost","root",""))
{
mysql_query("CREATE DATABASE $base");
mysql_select_db ($base, $c);
$tabla = "clientes";
$crear="CREATE TABLE IF NOT EXISTS ";
$crear .="$tabla";
$crear .="( ";
$crear .="cliente CHAR(20) PRIMARY KEY, ";
$crear .="password CHAR (15) NOT NULL ";
$crear .=")";
mysql_query ($crear ,$c);
$tabla = "administradores";
$crear="CREATE TABLE IF NOT EXISTS ";
$crear .="$tabla";
$crear .="( ";
$crear .="admin CHAR(20) PRIMARY KEY, ";
$crear .="password CHAR (15) NOT NULL ";
$crear .=")";
mysql_query ($crear ,$c);
$tabla = "album";
$crear="CREATE TABLE IF NOT EXISTS ";
$crear .="$tabla";
$crear .="( ";
$crear .="`cliente` varchar(20) NOT NULL, ";
$crear .="`foto` mediumblob NOT NULL, ";
$crear .="`tipo_foto` varchar (10) NOT NULL, ";
$crear .="`titulo` varchar(20) NOT NULL, ";
$crear .="`comentario` varchar(255), ";
$crear .="PRIMARY KEY (cliente, titulo)";
$crear .=")";
mysql_query ($crear ,$c);
mysql_close($c);
}
?>
guardar en la bd las imagenes:
Código PHP:
<?
$foto_name= $_FILES['foto']['name'];
$foto_size= $_FILES['foto']['size'];
$foto_type= $_FILES['foto']['type'];
$foto_temporal= $_FILES['foto']['tmp_name'];
$cliente= $_POST['cliente'];
$titulo= $_POST['titulo'];
/* limitamos los formatos de imagen admitidos a:
- png que segun del navegador que ulicemos puede ser en IE image/x-png y en Firefox y Mozilla image/png
- jpg que puede tener como tipo en IE image/pjpeg en Firefox y Mozilla image/jpeg
- gif que tiene como tipo image/gif en todos los navegadores
*/
if ($foto_type=="image/x-png" OR $foto_type=="image/png"){
$extension="image/png";
}
if ($foto_type=="image/pjpeg" OR $foto_type=="image/jpeg"){
$extension="image/jpeg";
}
if ($foto_type=="image/gif" OR $foto_type=="image/gif"){
$extension="image/gif";
}
//condicionamos la inserción a que la foto tenga nombre, tamaño distinto de cero, extensión no nula y titulo
if ($foto_name != "" AND $foto_size != 0 AND $cliente !='' AND $extension !='' AND $titulo != ""){
//reconversion de la imagen para meter en la tabla: abrimos el fichero temporal en modo lectura "r" binaria"b"
$f1= fopen($foto_temporal,"rb");
//leemos el fichero completo limitando la lectura al tamaño de fichero
$foto_reconvertida = fread($f1, $foto_size);
//con addslashes anteponemos \ a las comillas que pudiera contener el fichero para evitar que sean interpretadas como final de cadena
$foto_reconvertida=addslashes($foto_reconvertida);
//abrimos la base de datos y escribimos las intrucciones de inserción en el campo BLOB insertaremos la foto_reconvertida
$base="rafaelfoto";
$tabla="album";
$c=mysql_connect ("localhost","root","");
mysql_select_db ($base, $c);
$meter="INSERT INTO ".$tabla;
$meter .=" (cliente, foto, tipo_foto, titulo) ";
$meter .=" VALUES('$cliente','$foto_reconvertida','$extension','$titulo')";
if (@mysql_query($meter,$c)){
print "Foto guardada en la tabla";
}else{
print "Ha habido un error al guardar la foto";
}
}else{
echo "<h2>No ha podido transferirse el fichero</h2>";
}
mysql_close();
?>
y para extraerlas:
Código PHP:
<?
session_start();
$base="rafaelfoto";
$tabla="album";
$c=mysql_connect("localhost","root","");
mysql_select_db($base,$c);
$log = $_SESSION['login'];
if ($log == "")
{
echo '<body background="images/fondodenegado.jpg">';
}
else
{
echo '<body background="images/fondoframes.jpg">';
echo "<table align='center'>";
$sacar = "SELECT * FROM ".$tabla." where cliente like '".$log."'";
$resultado = mysql_query($sacar,$c);
$valor = mysql_num_rows($resultado);
if ($valor!=0)
{
while ($registro = mysql_fetch_array($resultado))
{
echo "<center>";
echo '<table background="images/fondoframes.jpg" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" align="center" width="640" height="440">';
echo "<tr><td colspan='2'><center>".$registro['titulo']."</td></tr>";
echo "<tr><td colspan='2'><center><img src='ver_foto.php?n=".$registro['cliente']."' width=300></center></td></tr>";
?>
<form action="agregarcoment.php" method="post">
<tr><td colspan='2' align="center"><textarea name="comentario" cols="50" rows="5"></textarea></td></tr>
<tr><td align="right"><input type="submit" value="Enviar"></td>
<td align="left"><input type="reset" value="Borrar"></td></tr>
</form>
<?
echo '</table></center>';
}
}
else
{
echo '<table align="center"><tr><td class="title2">';
echo $_SESSION['login'];
echo ", actualmente no tienes fotos en el album";
}
}
mysql_close();
?>
ver_foto.php:
Código PHP:
<?
$client=$_REQUEST['n'];
$base="rafaelfoto";
$tabla="album";
$c=mysql_connect ("localhost","root","");
mysql_select_db ($base, $c);
$sacar = "SELECT * FROM ".$tabla." WHERE (cliente like '".$client."')" ;
$resultado = mysql_query($sacar,$c);
while ($registro = mysql_fetch_array($resultado)){
$tipo_foto=$registro['formato'];
header("Content-type: $tipo_foto");
echo $registro['foto'];
}
mysql_close();
?>
aqui esta todo el codigo espero que asi sea mas facil que me ayudeis