Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Galería de imágenes en PHP y MySQL, desde cero
#1
Les cuento que hace poco empecé con PHP y mi primer proyecto fue una galería de imágenes (creo que es el primer proyecto de todos los que empiezan con PHP jeje).
Navegué por la red buscando info de acá y de allá, y finalmente termine la galería, y ha llegado el momento de compartirla con quienes recién empiezan en el mundo de PHP, para que no tengan que andar dando vueltas por la red de un lado para otro sin encontrar lo que buscan.
Bueno, empecemos. Quiero aclarar que esta galería la estoy haciendo con Bases de Datos MySQL, y que cualquiera que la haga tiene que tener instalado un servidor en su máquina como Apache.

Primera parte: Creación de las bases de datos


Lo primero que tenemos que hacer es crear nuestras bases de datos MySQL. Para esto la mejor forma es entrando desde el PHPMyAdmin (Generalmente http://localhost/phpmyadmin), les va a pedir que ingresen el usuario y la contraseña, yo uso root, pero si alguien tiene miedo de mandarse alguna "cagada", puede crear algún otro usuario, que tenga permisos de edición solamente en la base de datos que vamos a utilizar.

Bueno, una vez que entramos al PHPMyAdmin, lo primero que hacemos es crear una base de datos con un nombre, en este caso se va a llamar galería.

El siguiente paso es crear las tablas que contienen la información de las imágenes, categorías, etc.
para esto nos fijamos en donde dice Crear nueva tabla en la base de datos galería, y creamos nuestra primer tabla que se va a llamar imágenes, y le decimos que va a contener 5 campos. Damos aceptar y nos va a aparecer un formulario con filas y columnas en donde debemos introducir los campos que va a contener nuestra tabla, y vamos a poner lo siguiente:
En la primera fila donde dice campo vamos a escribir id (siempre respetando mayúsculas/minúsculas, y sin espacios ni acentos), en tipo vamos a elegir INT (para indicarle que los valores de ese campo van a ser un valor entero), en longitud/valores vamos a poner la cantidad de cifras que va a llevar el id yo le puse 5, pero si alguien tiene pensado postear millones de imágenes le recomiendo que le ponga un poco mas como 10 o 20, luego de esto vamos donde dice extra y le ponemos el valor auto_increment, para que vaya aumentando solo a medida que se va creando registros, y hacemos click en el icono que tiene una llavecita amarilla para indicarle que es la "primary key".
el resto de los campos van a ser así:

Código:
CAMPO           |    TIPO   |  LONGITUD
nombre      -       VARCHAR    -   50
descripcion     -    TEXT
fecha        -       VARCHAR    -   30
imagen     -       LONGBLOB

Y cuando terminen le dan click al botón Grabar que está en la parte inferior (más adelante le voy a ir agregando categorías y subcategorías. Primero empecemos con lo simple.

Bueno, aca ya tenemos la tabla que va a contener las imágenes que iremos subiendo con PHP.

El siguiente paso es crear el archivo que va a subir las imágenes.

Segunda Parte: crear los archivos


El primer archivo que crearemos lo llamaremos conectar.php. Este archivo lo único que hará es conectarse con la base de datos, para poder ver, modificar, crear, o eliminar registros:

el archivo sera algo como esto:

Código PHP:
<?php 
$server
='localhost';
$user='root';
$pass=' "[i]aca va la contraseña que ustedes le hayan puesto sin las comillas[/i]" ';
$db='galeria';
$link mysql_connect($server,$user,$pass);
mysql_select_db($db,$link);
?>

este archivo lo usaremos en todo el resto de los archivos que creemos de aquí en adelante, cada vez que necesitemos conectarnos a la base de datos.

El siguiente archivo que vamos a crear es el que va a subir las imágenes a la base de datos, y este es un poco mas complejo, lo vamos a llamar agregar.php.
Empezaremos creando el formulario HTML:

Código:
<form action="agregar.php" method="post" enctype="multipart/form-data" name="form1">
Nombre:<input type="text" name="nombre"> <br>
  Descripcion: <input type="text" name="descripcion">  <br>
  Imagen: <input type="file" name="imagen"><br>
    <input type="submit" name="Submit" value="Enviar">
</form>

lo que vamos a hacer ahora es el código PHP que va a ir en el mismo archivo en el que creamos el formularios, entonces vamos a crear una instrucción if que va a verificar si se a apretado el botón enviar en el formulario:

Código PHP:
<?
if ($_POST['Submit']){

}
?>

Ahora lo que tenemos que hacer es poner el código que va a subir la información a las base de datos, dentro de la instrucción if(lo hacemos dentro de la instrucción if para que solamente se ejecute cuando pulsamos el botón Enviar)

Dentro de la instrucción if lo primero que hacemos es incluir el archivo conectar.php con la siguiente instrucción:

Código:
include('conectar.php');

Ahora que ya estamos conectados con la base de datos vamos a declarar algunas variables:

Código:
$img_name=$_FILES['imagen']['name'];

Con esto le decimos que guarde el nombre de la imagen en la variable $img_name...

Para que funcione, tienen que crear una carpeta dentro de la misma carpeta de la galería que es en donde se van a guardar la imágenes, en este caso la vamos a llamar "fotos", para no confundirnos con la base de datos.
#2
+Gracias
Perfecto, lo voy a marcar para probar cuando tenga algo de tiempo Sonrisa ¡Seguro que me sirve!
#3
Muchas gracias!

Ahora ando liado con exámenes, pero cuando tenga un hueco me pongo a probarlo si o si.
#4
Interesante post, gracias por el tutorial bien explicado, de una lo pruebo
#5
buen inicio y excelente tutorial muy practico ya solo quedaria añadirle unos estilos en css para que se vea genial Gran sonrisa
#6
se ve genial amigo aunque seria bueno añadirle mas estilos.


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Como usar Datatable PHP & JSon & Mysql WMasterT 4 171 08-08-2018, 07:37 PM
Último mensaje: avdarie
  Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL cmascreativo 5 382 02-03-2018, 08:08 AM
Último mensaje: easy english
Bug Problema conectando con MySql remoto yuma2009 2 255 01-02-2018, 11:52 AM
Último mensaje: easy english
  error mysql en php admin efbsfcd 2 189 14-12-2017, 12:49 AM
Último mensaje: jeje
  [Tutorial] Jugar Flappy Bird desde la consola con Sfb el clon escrito en GNU sed carlsmartg 3 334 01-09-2017, 04:25 AM
Último mensaje: garcon
  Problema conexion remota mysql efbsfcd 2 324 07-07-2017, 07:19 AM
Último mensaje: efbsfcd
  [Tutorial] Pasar MySQL a MySQLi[POO] amner 6 593 03-05-2017, 02:05 AM
Último mensaje: ReyNexo23
  jQuery: ocultar imágenes rotas Jvh_22 10 849 03-01-2017, 09:26 PM
Último mensaje: gassip
  [Tutorial] Aprender Git desde cero habacuc78 0 335 03-11-2016, 02:10 AM
Último mensaje: habacuc78
  Como subir Archivos, Imagenes PHP MysQL gassip 0 1,605 24-10-2016, 06:59 AM
Último mensaje: gassip



Usuarios navegando en este tema: 1 invitado(s)