Foros del Web » Programando para Internet » PHP »

como cargar varios archivos a la vez(file) a base datos mysql?

Estas en el tema de como cargar varios archivos a la vez(file) a base datos mysql? en el foro de PHP en Foros del Web. Tengo un proyecto el cual estoy avanzando poco a poco, pero lamentablemente me estoy demorando porque no encuentro la forma de subir varios blob a ...
  #1 (permalink)  
Antiguo 07/07/2011, 11:08
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta como cargar varios archivos a la vez(file) a base datos mysql?

Tengo un proyecto el cual estoy avanzando poco a poco, pero lamentablemente me estoy demorando porque no encuentro la forma de subir varios blob a la base de datos mysql, osea inserto uno y si quiere insertar otro como hago?

Slds. Gracias de antemano.

PDT: Si pudieran poner un ejemplo pequeño se lo agradeceria.
  #2 (permalink)  
Antiguo 07/07/2011, 11:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como cargar varios archivos a la vez(file) a base datos mysql?

Imagina que ya sabes dar un paso. ¿Como dar el segundo paso?

Pues repitiendo la acción, supongo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/07/2011, 11:17
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: como cargar varios archivos a la vez(file) a base datos mysql?

ummmm, eso intente amigo , pero la verdad es que no me sale u.u
  #4 (permalink)  
Antiguo 07/07/2011, 11:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como cargar varios archivos a la vez(file) a base datos mysql?

Pues sería mejor entonces que nos muestres lo que haces, así ya podríamos decirte mas o menos lo que haces mal, ¿no te parece?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/07/2011, 11:33
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: como cargar varios archivos a la vez(file) a base datos mysql?

formulario

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formato de Ingeniería</title>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
<!--<script type="text/javascript" src="view.js"></script>-->
<!--<script type="text/javascript" src="calendar.js"></script> M-->
<script>

function habilita(){
if(document.formulario.element_21.disabled == true) {
document.formulario.element_21.disabled = false;
} else {
document.formulario.element_21.disabled = true; }

}

function habilita2(){
if(document.formulario.element_22.disabled == true) {
document.formulario.element_22.disabled = false;
} else {
document.formulario.element_22.disabled = true; }

}

function fecha() {
var fecha = new Date();
document.getElementById("elemento").value = fecha.getDate() + "/" + (fecha.getMonth() + 1) + "/" + fecha.getFullYear();
}



</script></head>

<body id="main_body" >

<img id="top" src="top.png" alt="">
<div id="form_container">

<h1><a>Formato de Ingeniería</a></h1>
<form id="form_191962" class="appnitro" enctype="multipart/form-data" method="post" action="upload2.php" name="formulario"> <!-- Agregue nombre formulario -->
<div class="form_description">
<h2>Formato de Ingeniería</h2>
<p>Solicitud de Atención Área de Ingeniería</p>
</div>
<ul >

<li class="section_break">
<h3>DATOS GENERALES</h3>
<p></p>
</li> <li id="li_24" >
<label class="description" for="element_24">Solicitante </label>
<div>
<select class="element select medium" id="element_24" name="element_24">
<!-- <option value="" selected="selected"></option> -->

<option value="1" >Arturo Morales</option>
<option value="2" >Danny Velasquez</option>
<option value="3" >Ewald Marh</option>
<option value="4" >Frank Saurre</option>
<option value="5" >Jorge Elias</option>
<option value="6" >Maritza Vargas</option>
<option value="7" >Oliver Zapata</option>
<option value="8" >Victor Pajuelo</option>
<option value="9" >Victor Meza</option>
<option value="10" >Viviana Dulanto</option>

</select>
</div>
</li>

<li id="li_2" >
<label class="description" for="element_2">Cliente </label>
<div>
<input id="element_2" name="element_2" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li>

<li id="li_4" >
<label class="description" for="element_4">Lugar de Trabajo </label>
<div>
<input id="element_4" name="element_4" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li>

<li id="li_3" >
<label class="description" for="element_3">Contacto </label>
<div>
<input id="element_3" name="element_3" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li>

<li id="li_2" >
<label class="description" for="element_6">Telefono </label>
<div>
<input id="element_6" name="element_6" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li>

<li id="li_5" >
<label class="description" for="element_5">Email </label>
<div>
<input id="element_5" name="element_5" class="element text medium" type="text" maxlength="255" value=""/>
</div>
</li>

<li class="section_break">
<h3>DESCRIPCIÓN DEL REQUERIMIENTO</h3>
<p></p>
</li>

<li id="li_19" >
<label class="description" for="element_19"> </label>
<span>
<input id="element_19_1" name="requerimientos[]" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_19_1">Diseño de Solución Tecnológica</label>
<input id="element_19_2" name="requerimientos[]" class="element checkbox" type="checkbox" value="2" />
<label class="choice" for="element_19_2">Elaboración de Términos de Referencia</label>
<input id="element_19_3" name="requerimientos[]" class="element checkbox" type="checkbox" value="3" />
<label class="choice" for="element_19_3">Revisión de Bases para concursos y/o Licitaciones</label>
<input id="element_19_4" name="requerimientos[]" class="element checkbox" type="checkbox" value="4" />
<label class="choice" for="element_19_4">Asesoría para la elaboración de fichas técnica y/o Bases de Concursos</label>
<input id="element_19_5" name="requerimientos[]" class="element checkbox" type="checkbox" value="5" />
<label class="choice" for="element_19_5">Asesoría Pre-venta (listado de equipamiento, busqueda de nuevos productos, sustentación de propuestas técnicas, etc).</label>
<input id="element_19_6" name="requerimientos[]" class="element checkbox" type="checkbox" value="6" />
<label class="choice" for="element_19_6">Elaboración de Propuestas Técnicas</label>
<input id="element_19_7" name="requerimientos[]" class="element checkbox" type="checkbox" value="7" />
<label class="choice" for="element_19_7">Estudios de Cobertura</label>
<input id="element_19_8" name="requerimientos[]" class="element checkbox" type="checkbox" value="8" />
<label class="choice" for="element_19_8">Site Survey</label>
<input id="element_19_9" name="requerimientos[]" class="element checkbox" type="checkbox" value="9" />
<label class="choice" for="element_19_9">Cursos de Capacitación a clientes internos o externos</label>
<input id="element_19_10" name="requerimientos[]" class="element checkbox" type="checkbox" value="10" />
<label class="choice" for="element_19_10">Presentaciones Tecnicas</label>
<input id="element_19_11" name="requerimientos[]" class="element checkbox" type="checkbox" value="11" />
<label class="choice" for="element_19_11">Elaboración de Expedientes de Ingeniería Básica</label>
<input id="element_19_12" name="requerimientos[]" class="element checkbox" type="checkbox" value="12" />
<label class="choice" for="element_19_12">Elaboración de Expedientes de Ingeniería de Detalle</label>
<input type="checkbox" onClick="habilita()"><!--<input id="element_19_13" name="element_19_13" class="element checkbox" type="checkbox" value="1" />-->
<label class="choice" for="element_19_13">Otros:</label>

</span>
</li>

<li id="li_21" >
<label class="description" for="element_21"> </label>
<div>
<textarea id="element_21" name="element_21" class="element textarea small" disabled ></textarea> <!--Agregue estado disable. -->
</div>
</li>
<li class="section_break">
<h3>ENTREGABLES</h3>
<p></p>
</li>


<li id="li_20" >
<label class="description" for="element_20"> </label>
<span>
<input id="element_20_1" name="entregables[]" class="element checkbox" type="checkbox" value="1" />
<label class="choice" for="element_20_1">Planos</label>
<input id="element_20_2" name="entregables[]" class="element checkbox" type="checkbox" value="2" />
<label class="choice" for="element_20_2">Diagramas</label>
<input id="element_20_3" name="entregables[]" class="element checkbox" type="checkbox" value="3" />
<label class="choice" for="element_20_3">Memorias Descriptivas</label>
<input id="element_20_4" name="entregables[]" class="element checkbox" type="checkbox" value="4" />
<label class="choice" for="element_20_4">Informes Técnicos</label>
<input id="element_20_5" name="entregables[]" class="element checkbox" type="checkbox" value="5" />
<label class="choice" for="element_20_5">Informes Fotográficos</label>
<input id="element_20_6" name="entregables[]" class="element checkbox" type="checkbox" value="6" />
<label class="choice" for="element_20_6">Presupuestos</label>
<input id="element_20_7" name="entregables[]" class="element checkbox" type="checkbox" value="7" />
<label class="choice" for="element_20_7">Listado de Equipamiento</label>
<input id="element_20_8" name="entregables[]" class="element checkbox" type="checkbox" value="8" />
<label class="choice" for="element_20_8">Cuadro Comparativo</label>
<input id="element_20_9" name="entregables[]" class="element checkbox" type="checkbox" value="9" />
<label class="choice" for="element_20_9">Fichas Técnicas</label>
<input type="checkbox" onClick="habilita2()"><!-- <input id="element_20_10" name="element_20_10" class="element checkbox" type="checkbox" value="1" />-->
<label class="choice" for="element_20_10">Otros:</label>

</span>
</li>

<li id="li_22" >
<label class="description" for="element_22"> </label>
<div>
<textarea id="element_22" name="element_22" class="element textarea small" disabled ></textarea>
</div>
</li>




<li id="li_15" >
<label class="description" for="element_15">Información Técnica Adjunta </label>
<div>
<input type="file" id="archivo" name="archivo"/>

</div>
</li>

<li id="li_23" >
<label class="description" for="element_23">Notas </label>
<div>
<textarea id="element_23" name="element_23" class="element textarea small"></textarea>
</div>
</li>




<li class="buttons">
<input type="hidden" name="form_id" value="191962" />

<input id="saveForm" class="button_text" type="submit" name="submit" value="Enviar"/>
</li>
</ul>
</form>
<div id="footer">
Generated by WMV</a>
</div>
</div>
<img id="bottom" src="bottom.png" alt="">
</body>
</html>
  #6 (permalink)  
Antiguo 07/07/2011, 11:34
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: como cargar varios archivos a la vez(file) a base datos mysql?

--carga formulario
<?php
//TAMAÑO DE 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
$tamanio=array();
//OBTENEMOS EL TAMAÑO DEL ARCHIVO
$tamanio = $_FILES["archivo"]["size"];
//OBTENEMOS EL TIPO MIME DEL ARCHIVO
$tipo = $_FILES["archivo"]["type"];
//OBTENEMOS EL NOMBRE REAL DEL ARCHIVO AQUI SI SERIA foto.jpg
$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
$contenido = fread($fp, $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
$contenido = addslashes($contenido);
//CERRAMOS EL ARCHIVO
fclose($fp);
// VERIFICAMOS EL TAÑANO DEL ARCHIVO
if ($tamanio <1048576){
//HACEMOS LA CONVERSION PARA PODER GUARDAR SI EL TAMAÑO ESTA EN b ó MB
$tamanio=filesize_format($tamanio);
}

//CREAMOS NUESTRO INSERT
$requerimientos= implode(",",$_POST['requerimientos']);
$entregables= implode(",",$_POST['entregables']);
$qry = "INSERT INTO tbl_documentos2 (solicitante,cliente,lugar_de_trabajo,contacto,tel efono,email,requerimientos,otros_requerimientos,en tregables,otros_entregables,notas,contenido,tamani o,tamanio_unidad,tipo,nombre_archivo) VALUES
('$element_24','$element_2','$element_4','$element _3','$element_6','$element_5','$requerimientos','$ _REQUEST[element_21]','$entregables','$_REQUEST[element_22]','$_REQUEST[element_23]','$contenido','{$tamanio[0]}','{$tamanio[1]}', '$tipo','$nombre_archivo')";

//NOS CONECAMOS A LA BASE DE DATOS
//REMPLAZEN SUS VALOS POR LOS MIOS
mysql_connect("localhost","root","mysql") 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("phpfacil");

//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 "Archivo Agregado Correctamente<br>";
echo '<a href="prb.html">Subir Otro Archivo</a><br > ';
}else{
echo "No fue posible subir el archivo";
echo '<a href="form.html">Subir Otro Archivo</a><br > ';
}
?>

--Ingresa 1 , pero que pasa si el usuario quiere enviar mas de un archivo?, no voy a poner 10 campos....

Etiquetas: mysql+php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:28.