Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL
#1
Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL

multi_upload_php_mysqlEn este ejemplo podrán ver como subir multiples archivos o imágenes al servidor y guardarlas usando PHP y MySQL, esto es una característica que aveces se requiere en ciertos proyectos, sistemas de gestión de contenidos o simples galerías de imágenes.



COMO FUNCIONA

Muchos se preguntaran como guardar imágenes o archivos en la base de datos, hay 2 for,as de hacerlo, una es guardando físicamente los archivos en la base de datos usando el formato blob, pero esto es mas pesado para la base de datos y otro es guardar el archivo físico en el servidor y guardar una referencia (por ejemplo la ubicación) en la base de datos.

FORMULARIO
El formulario con respecto a la version anterior tiene ciertas modificaciones, el nombre del campo se cambia y se agregan corchetes [] para definir un array, también se agrega el atributo multiple al campo y queda de la siguiente manera:
Código:
<form enctype="multipart/form-data" method="post" action="upload.php">
<input name="image[]" required="" type="file" multiple />
<br>
<input type="submit" value="Upload">
</form>
SUBIR IMÁGENES O ARCHIVOS

Para las imágenes o archivos usaremos un algoritmo para subir multiples imágenes o archivos con la clase class.upload.php que encontraremos en la documentación de la librería :


Código:
 $error = false;

$files = array();
foreach ($_FILES['image'] as $k => $l) {
foreach ($l as $i => $v) {
if (!array_key_exists($i, $files))
$files[$i] = array();
$files[$i][$k] = $v;
}
}

foreach ($files as $file) {
$handle = new Upload($file);
if ($handle->uploaded) {
$handle->Process("uploads/");
if ($handle->processed) {
// usamos la funcion insert_img de la libreria db.php
insert_img("uploads/",$handle->file_dst_name);
} else {
$error = true;
echo 'Error: ' . $handle->error;
}
} else {
$error = true;
echo 'Error: ' . $handle->error;
}
unset($handle);
}


BASE DE DATOS

Para almacenar las imágenes simplemente tenemos una tabla llamada image:


Código:
create table image(
id int not null auto_increment primary key,
folder varchar(255),
src varchar(255),
created_at datetime not null
);


En cuanto a la base de datos tenemos los siguientes campos:
  • Id: identificador de los archivos

  • Folder: La ubicación en la que se encuentra el archivo.

  • Src: El nombre del archivo

  • Created_At: La fecha de creación
CONTENIDO DEL PAQUETE

El paquete de descarga cuenta con 8 archivos:
  • schema.sql : El código de la base de datos.

  • class.upload.php : Clase para subir imágenes/archivos, recortar, etc.

  • db.php : La conexión a la base de datos y las funciones de agregar, mostrar y eliminar.

  • form.php : El formulario para seleccionar las imágenes o archivos.

  • upload.php : El algoritmo para subir imágenes or archivos y agregar a la base de datos.

  • download.php: Algoritmo para descargar el archivo desde el servidor.

  • images.php : Muestra las imágenes que hemos subido al servidor y que están “guardadas” en la base de datos.

  • files.php: Muestra los archivos que hemos subido y que están “guardados” en la base de datos en formato de tabla

  • delete.php: Eliminar imágenes o archivos.
DESCARGA

A continuación te dejo un enlace para que puedas descargar los archivos de código.

multi_upload_php_mysql

CONCLUSION

Ya puedes empezar a implementar la aplicación para lo que tu quieras.
Te invito a que me comentes que te pareció este ejemplo, si te gustaría que publicara mas.
#2
No abra un codigo para poder autoeliminar esos archivos despues de un tiempo


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Modos de tema Subir imagenes con PHP y class.upload.php cmascreativo 2 105 02-03-2018, 08:11 AM
Último mensaje: easy english
  Subir multiples archivos o imágenes al servidor y guardarlas con PHP y MySQL cmascreativo 5 167 02-03-2018, 08:08 AM
Último mensaje: easy english
Bug Problema conectando con MySql remoto yuma2009 2 149 01-02-2018, 11:52 AM
Último mensaje: easy english
  error mysql en php admin efbsfcd 2 121 14-12-2017, 12:49 AM
Último mensaje: jeje
  Problema conexion remota mysql efbsfcd 2 260 07-07-2017, 07:19 AM
Último mensaje: efbsfcd
  [Tutorial] Pasar MySQL a MySQLi[POO] amner 6 496 03-05-2017, 02:05 AM
Último mensaje: ReyNexo23
  jQuery: ocultar imágenes rotas Jvh_22 10 726 03-01-2017, 09:26 PM
Último mensaje: gassip
  Como subir Archivos, Imagenes PHP MysQL gassip 0 1,342 24-10-2016, 06:59 AM
Último mensaje: gassip
  [Tutorial] Pasar base de datos MySQL por SSH Jvh_22 1 427 11-10-2016, 04:12 PM
Último mensaje: efbsfcd
  falla conexion a mysql [email protected] 4 619 01-09-2016, 06:52 AM
Último mensaje: easy english



Usuarios navegando en este tema: 1 invitado(s)