Fotos

Pequeño proyecto para la insercion de fotos y thumbails en una base de datos, y la creacion de un album con esas fotos y enlace a su vista ampliada.
				Debemos comenzar creando la base de datos y la tabla 
que almacenara el codigo de la foto, el thumbail y
la foto en si

create database fotos;
create table fotos.foto_foto(
idfoto int not null auto_increment primary KEY,
foto_grande mediumblob,
foto_pequena mediumblob,
);

///datos.php(pagina de configuracion)

<?php
$servidor="";
$nombre="";
$clave="";
?>


Ahora creamos un simple formulario que coja de nuestro
ordenador el thumbail y la foto(deben estar previamente
guardadas con el tamaño adecuado)
observar elType del formulario, esto nos permite enviar
tanto texto como ficheros

///form.php

<?
echo '<font size=1>';
echo '<center>';
echo'<form enctype="multipart/form-data" action="guardararchivo.php" method="post">';
echo 'Foto<br><input type="file" name="foto">';
echo '<br><br>';
echo 'Thum.<br><input type="file" name="thumbail"><br><br>';
echo '<input type=hidden name=max_file_size value=1000000>';
echo '<input type="submit" value="Enviar archivo">';
echo '</form>';
echo '<br><br><a href=descargar_archivo2.php>Ver album</a>';
?>

Esta es la pagina que guarda las fotos en la base de datos, da un mensaje de
error o de exito y nos devuelve al formulario, es muy sencilla

///guardadararchivo.php

<?php
require ("datos.php");
echo '<center><font size=1>';
$conexion=@mysql_connect($servidor,$nombre,$clave);
$res=mysql_select_db("fotos",$conexion);
if ( $conexion > 0 )
{

$archivo = $_FILES["foto"]["tmp_name"];
$tamanio = $_FILES["foto"]["size"];
$tipo = $_FILES["foto"]["type"];
$nombre = $_FILES["foto"]["name"];
$archivo_thumb = $_FILES["thumbail"]["tmp_name"];
$tamanio_thumb = $_FILES["thumbail"]["size"];
$tipo_thumb = $_FILES["thumbail"]["type"];
$nombre_thumb = $_FILES["thumbail"]["name"];
if ( $archivo != "none" && $archivo_thumb!="none")
{
$fp = fopen($archivo, "rb");
$contenido = fread($fp,$tamanio);
$contenido = addslashes($contenido);
fclose($fp);
$fp_thumb = fopen($archivo_thumb, "rb");
$contenido_thumb = fread($fp_thumb,$tamanio_thumb);
$contenido_thumb = addslashes($contenido_thumb);
fclose($fp_thumb);
$query = "INSERT INTO fotos.foto_foto VALUES(null,'".$contenido."','".$contenido_thumb."')";
mysql_query($query);
if(mysql_affected_rows($conexion) > 0)print "Se ha guardado el archivo en la base de datos.";
else print "NO se ha podido guardar el archivo en la base de datos.";
}
else print "No se ha podido subir el archivo al servidor";
}else{
echo 'No conectado';
}
echo "<HTML><SCRIPT>document.location='form.php';</SCRIPT></HTML>";
?>


A continuacion muestro como se puede crear un album de fotos con enlace a esa misma foto
mas grande, la pequeña es el thumbail que hemos guardado con tamaño mas pequeño y la
grande tambien la tenemos en la bas de datos(recomiendo comprimir mediante codigo con
gzip)aqui no las comprimo porque se complica un poco el script.


///descargar_archivo2.php

<?php
require ("datos.php");
$conexion=@mysql_connect($servidor,$nombre,$clave);
$res=mysql_select_db("fotos",$conexion);

$qry = "SELECT idfoto,foto_pequena FROM fotos.foto_foto";
$res2 = mysql_query($qry);
for ($j=0;$j < mysql_num_rows($res2);$j++)
for ($i=0;$i < mysql_num_fields($res2);$i++)
{
$foto=basename(tempnam(getcwd(),'tmp'));
$foto.=".jpg";
if ($i==1)
{
$contenido2=mysql_result($res2,$j,$i);
$ft=fopen($foto,"w");
fwrite($ft,$contenido2);
fclose($ft);
echo '<a href=fotogrande.php?idfoto='.mysql_result($res2,$j,0).'><img src='.$foto.'>   ';
echo '';
}
}
echo '<br><br><font size=1><center><a href=form.php>Insertar nuevas fotos</a>';
?>


y finalmente creamos la pàgina donde visualizamos las fotos en grande
sencillo, no?

///fotogrande.php

<?php
require("datos.php");
$conexion=@mysql_connect($servidor,$nombre,$clave);
$res=mysql_select_db("fotos",$conexion);
$qry = "SELECT foto_grande FROM fotos.foto_foto where idfoto='".$_GET["idfoto"]."'";
$res2 = mysql_query($qry);
$foto=basename(tempnam(getcwd(),'tmp'));
$foto.=".jpg";
$contenido2=mysql_result($res2,0,0);
$ft=fopen($foto,"w");
fwrite($ft,$contenido2);
fclose($ft);
echo '<center><img src='.$foto.'>   <br><br>';
echo '<font size=1><a href=descargar_archivo2.php>Volver al album</a>';
?>
Descargar adjuntos
COMPARTE ESTE TUTORIAL

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
TUTORIAL ANTERIOR

HAY 34 COMENTARIOS
  • Anónimo dijo:

    EDITH PABLO Y TOMAS

  • Anónimo dijo:

    che maestro el codigo q pasaste para poder subir las fotos no anda xq me sale errores en los sectores de "for" del archivo descargar_archivo2.php... dice "WARNING" de mysql_num_rows() y mysql_num_rows()... si pudieras solucionarlos seria mejor

  • Anónimo dijo:

    Precisamos incorporar desarrolladores con más de un año de experiencia en PHP 5 , orientación a objetos, Javascript y conocimiento medio de patrones de desarrollo (MVC, Singleton, Factory, IoC, …) Requisitos deseados: - Conocimiento/experiencia con Zend framework y ExtJS y/o jQuery -PHP 5 -JAVASCRIPT -Conocimiento medio de patrones de desarrollo (MVC, Singleton, Factory, IoC, …) Interesado mandar correo electrónico a rrhh@vectorsf.com

  • Anónimo dijo:

    el culo de mi vecina es hijo de puta chupa pija

  • Anónimo dijo:

    ekijs jeis akshe

  • Anónimo dijo:

    como estas preciosura

  • Anónimo dijo:

    the felliiiphe

  • Anónimo dijo:

    cabeza de culo ya puse tu comentario

  • Anónimo dijo:

    l@ur&tª

  • Anónimo dijo:

    gracias por agregarme

  • Anónimo dijo:

    la daniothaaaaaaa!!!!

  • Anónimo dijo:

    espero que estes bn

  • Anónimo dijo:

    necesito saber que metodo natural necesito para que me crezcan los pechos

  • Anónimo dijo:

    esta pagina? me ayuda aponerle escritos en la fotos?

  • Anónimo dijo:

    http://www.programacionweb.net/articulos/articulo/?num=76 me funciono sin problemas... a pesar de que no es unaa galeria ... perofunciona

  • Anónimo dijo:

    porque no se escribir en las fotos y quiero saber

  • Anónimo dijo:

    porque no se escribir en las fotos y quiero saber

  • Anónimo dijo:

    dghhgfdt

  • Anónimo dijo:

    hola

  • Anónimo dijo:

    ola wapa!

  • Anónimo dijo:

    si quieren chatiar porque no van al elchat.com o algo asi porque se supone que los comentarios en un foro son para aclarar dudas no para decir a tu novio/a cuanto lo amas... No contaminen la página!!!

  • Anónimo dijo:

    Te AmO AmOsHiToOo

  • Anónimo dijo:

    dulce y chris por simpre

  • Anónimo dijo:

    escribir comentarios sobre fotos

  • Anónimo dijo:

    voy a escribir un comentario en esta afoto

  • Anónimo dijo:

    que es esto

  • Anónimo dijo:

    por favor si alguien me podria facilitar informacion de como guardar imagenes en una base de datos . gracias

  • Anónimo dijo:

    Bueno en cuanto al codigo sigaN COMO ES pero en la parte de guardar las imagenes a la base no es optimo, OJO: Lo primero que deberian hacer es guardar las direcciones de dichas imagenes en la BASE NO LAS FOTOS sino la base se les infla. Luego de eso en el codigo PHP hace refencia a dichas direcciones de fotos cosa ke en la base busca dicha direccion en la base y con eso hace referncia al servidor ke tiene dicha imagen y la muestra en la pagina. orca_whales22@hotmail.com

  • Anónimo dijo:

    Suena Chido el Proyecto No lo tienes en un servidor ya ??

  • Anónimo dijo:

    despues de probar el codigo, las imagenes se guardan bien en la base de datos, pero no consigo visualizarlas y aparecen unos mensajes de error. Lo que pasa es que no se cual es el codigo para visualizar las fotos guardadas en MySQL

  • Anónimo dijo:

    Se guardan bien, y aparecen, pero los recuadros donde supuestamente estaría la imagen. Me daba error en las lineas 15, 16 y 17 del Descargar_Archivo2.php.

  • Anónimo dijo:

    hola señores quiero saber como puedo crear programas todavia soy un novato.

  • Anónimo dijo:

    ME IMAGI8NO QUE LA FOTOGRAFIA ES COMO UN MUNDO DE CARICATURA ,PERO REALMENTE NO SE QUE SEA , AUNQUE ME AGRADA MUCHO NO SE ENQUE SE BASEN USTEDES PARA LA TOMA DE FOTOGRAFIAS

  • Anónimo dijo:

    No pude hacer correr el codigo del ejemplo que subieron si es posible mandenme una ayuda a mi correo

Conéctate o Regístrate para dejar tu comentario.