Este es mi código
Código HTML:
Ver original
<input id="archivo" name="archivo" type="file" />
Código PHP:
<?php
//ESTA FUNCION LA USAREMOS PARA OBTENER EL TAMAÑO DE NUESTRO ARCHIVO
function filesize_format($bytes, $format = '', $force = ''){
$bytes=(float)$bytes;
if ($bytes <1024){
$numero=number_format($bytes, 0, '.', ',');
return array($numero,"B");
}
if ($bytes <1048576){
$numero=number_format($bytes/1024, 2, '.', ',');
return array($numero,"KBs");
}
if ($bytes>= 1048576){
$numero=number_format($bytes/1048576, 2, '.', ',');
return array($numero,"MB");
}
}
//VERIFICAMOS QUE SE SELECCIONO ALGUN ARCHIVO
if(sizeof($_FILES)==0){
echo "No se puede subir el archivo";
exit();
}
// EN ESTA VARIABLE ALMACENAMOS EL NOMBRE TEMPORAL QU SE LE ASIGNO ESTE NOMBRE ES GENERADO POR EL SERVIDOR
// ASI QUE SI NUESTRO ARCHIVO SE LLAMA foto.jpg el tmp_name no sera foto.jpg sino un nombre como SI12349712983.tmp por decir un ejemplo
$archivo = $_FILES["archivo"]["tmp_name"];
//Definimos un array para almacenar el tamaño del archivo
$fo_tamanio=array();
//OBTENEMOS EL TAMAÑO DEL ARCHIVO
$fo_tamanio = $_FILES["archivo"]["size"];
//OBTENEMOS EL TIPO MIME DEL ARCHIVO
$fo_tipo = $_FILES["archivo"]["type"];
//OBTENEMOS EL NOMBRE REAL DEL ARCHIVO AQUI SI SERIA foto.jpg
$fo_nombre_archivo = $_FILES["archivo"]["name"];
//PARA HACERNOS LA VIDA MAS FACIL EXTRAEMOS LOS DATOS DEL REQUEST
extract($_REQUEST);
//VERIFICAMOS DE NUEVO QUE SE SELECCIONO ALGUN ARCHIVO
if ( $archivo != "none" ){
//ABRIMOS EL ARCHIVO EN MODO SOLO LECTURA
// VERIFICAMOS EL TAÑANO DEL ARCHIVO
$fp = fopen($archivo, "rb");
//LEEMOS EL CONTENIDO DEL ARCHIVO
$fo_contenido = fread($fp, $fo_tamanio);
//CON LA FUNCION addslashes AGREGAMOS UN \ A CADA COMILLA SIMPLE ' PORQUE DE OTRA MANERA
//NOS MARCARIA ERROR A LA HORA DE REALIZAR EL INSERT EN NUESTRA TABLA
$fo_contenido = addslashes($fo_contenido);
//CERRAMOS EL ARCHIVO
fclose($fp);
// VERIFICAMOS EL TAÑANO DEL ARCHIVO
if ($fo_tamanio <1048576){
//HACEMOS LA CONVERSION PARA PODER GUARDAR SI EL TAMAÑO ESTA EN b ó MB
$fo_tamanio=filesize_format($fo_tamanio);
}
//CREAMOS NUESTRO INSERT
$qry = "INSERT INTO t_fotos ( fo_nombre_archivo, fo_contenido, fo_tamanio,fo_tamanio_unidad, fo_tipo, id_modelo ) VALUES
('$fo_nombre_archivo', '$fo_contenido','{$fo_tamanio[0]}','{$fo_tamanio[1]}', '$fo_tipo', '".$_POST["tipo"]."')";
//NOS CONECAMOS A LA BASE DE DATOS
//REMPLAZEN SUS VALOS POR LOS MIOS
mysql_connect("","","") or die("No se pudo conectar a la base de datos");
//SELECCIONAMOS LA BASE DE DATOS CON LA CUAL VAMOS A TRABAJAR CAMBIEN EL VALOR POR LA SUYA
mysql_select_db("");
//EJECUTAMOS LA CONSULTA
mysql_query($qry) or die("Query: $qry <br />Error: ".mysql_error());
//CERRAMOS LA CONEXION
mysql_close();
//NOTIFICAMOS AL USUARIO QUE EL ARCHVO SE HA ENVIADO O REDIRIGIMOS A OTRO LADO ETC.
echo " <script language=javascript>
alert('Archivo cargado satisfactoriamente')
</script>";
include_once ("cargar-imagenes.php");
}else{
echo " <script language=javascript>
alert('No fue posible cargar el archivo, intente de nuevo')
</script>";
include_once ("cargar-imagenes.php");
}
?>
Consegui este nuevo recurso
Código HTML:
Ver original
<input id="archivo[]" name="archivo[]" type="file" multiple="multiple"/>
Y logré ver que hace algun tipo de carga mediante Arrays o no se que! pero si logra tomar varias imagenes solo que no las reconoce luego en la base de datos porque probablemente no se tomaron bien los datos de todos.
Mi pregunta:
¿Cómo logro hacer que suban varias imagenes en la base de datos de una sola vez?
MUCHAS GRACIAS