Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/08/2007, 10:39
borix69
 
Fecha de Ingreso: diciembre-2004
Mensajes: 19
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Subir imágenes a mysql

Efectivamente ese es el tema, subir igual 100 imágenes al servidor y cargarlas directamente a una base de datos mysql.

La solución de los inputs no me motiva demasiado, ni siquiera la del gmail.

Lo del ftp no es mala idea, pero luego tengo que cargar todas las imágenes a la base de datos...

Os envío el php que uso para subir varias imágenes desde un input file empaquetadas en un zip:

<?php
require("gestionBD.php");
require("gestionHTTP.php");
require("gestionComunes.php");

$miConexion = new GestionBD;
$miPagina = new GestionHTTP;
$miComun = new GestionComunes;
$contador = 1;

$miConexion -> conectar ();
$miPagina -> cabecera ("estilos");
$miPagina -> titulo ("Resultado de la operación");
$miPagina -> meterSalto ("10");

$zip = zip_open($_FILES["fichero"]["tmp_name"]);
$catalogo = $_POST["catalogo"];

if ($zip) {
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry, "r")) {
$nombre = zip_entry_name($zip_entry);

if ($miComun -> esImagen ($nombre)) {
$mime = $miComun -> obtenerMime ($nombre);
$imagen = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$imagen = addslashes($imagen);
$tamanio = zip_entry_filesize($zip_entry);
$propietario = "null";
$ancho = 1024;
$alto = 768;
$marcaTiempo = time() + $contador;
$contador = $contador + 1;
$clave = $marcaTiempo . $catalogo . $miComun -> eliminaEspacios ($nombre);

zip_entry_close($zip_entry);

$query = "INSERT INTO imagenes (clave,nombre,tamanio,imagen,propietario,ancho,alt o,catalogo,mime) VALUES ('" . $clave . "','" . $nombre . "','" . $tamanio . "','" . $imagen . "','" . $propietario . "','" . $ancho . "','" . $alto . "','" . $catalogo . "','" . $mime . "')";
$miConexion -> ejecutaSQL ($query);
if ($miConexion -> Errno == 0) {
$miPagina -> meterFila ("La imagen " . $nombre . " se ha insertado en la base de datos correctamente", "ok");
$miPagina -> meterSalto ("5");
}
} else {
$miPagina -> meterFila ("El fichero " . $nombre . " no se inserta en la base de datos ya que no corresponde a ninguno de los formatos de imagen soportados.", "error");
$miPagina -> meterSalto ("5");
}
}
}
} else {
$miPagina -> meterFila ("El fichero indicado no existe o está corrupto.", "error");
}

$miPagina -> piePagina ();
zip_close($zip);
$miConexion -> desconectar ();