Foros del Web » Programando para Internet » PHP »

insertar en mysql

Estas en el tema de insertar en mysql en el foro de PHP en Foros del Web. Buenos dias , luego de varios intentos, pude lograr insertar mis archivos en una carpeta, ahora el siguiente reto que me puse es subir estos ...
  #1 (permalink)  
Antiguo 22/07/2011, 08:47
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta insertar en mysql

Buenos dias , luego de varios intentos, pude lograr insertar mis archivos en una carpeta, ahora el siguiente reto que me puse es subir estos a una tabla de una bd de mysql, espero que alguien me pueda guiar, se lo agradecere, aqui les pongo el codigo por si es que alguien lo necesita.


index.php
----------------------------------------------------------------------------------------------------

<html>
<head>
<title>multiple file upload php</title>
<script type="text/javascript">
function add_file_field(){
var container=document.getElementById('file_container' );
var file_field=document.createElement('input');
file_field.name='images[]';
file_field.type='file';
container.appendChild(file_field);
var br_field=document.createElement('br');
container.appendChild(br_field);


}
</script>
</head>
<body>
<form action="uploader.php" method="post" enctype="multipart/form-data" name="mutiple_file_upload_form" id="mutiple_file_upload_form">
<h1>Advanced Multiple File Upload Script Example</h1><div id="file_container">
<input name="images[]" type="file" />
<br />
</div>
<a href="javascript:void(0);" onClick="add_file_field();">Add another</a><br />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
----------------------------------------------------------------------------------------------------
uploader.php

<?php

if (isset($_POST['Submit'])) {
$number_of_file_fields = 0;
$number_of_uploaded_files = 0;
$number_of_moved_files = 0;
$uploaded_files = array();
$upload_directory = dirname(__file__) . '/uploaded/';

for ($i = 0; $i < count($_FILES['images']['name']); $i++) {
$number_of_file_fields++;
if ($_FILES['images']['name'][$i] != '') {
$number_of_uploaded_files++;
$uploaded_files[] = $_FILES['images']['name'][$i];
if (move_uploaded_file($_FILES['images']['tmp_name'][$i], $upload_directory . $_FILES['images']['name'][$i])) {
$number_of_moved_files++;


}

}

}
echo "Number of File fields created $number_of_file_fields.<br/> ";
echo "Number of files submitted $number_of_uploaded_files . <br/>";
echo "Number of successfully moved files $number_of_moved_files . <br/>";
echo "File Names are <br/>" . implode(',', $uploaded_files);


}

?>



La duda es ahora subirlo a una bd mysql
  #2 (permalink)  
Antiguo 22/07/2011, 09:04
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: insertar en mysql

amigo, lo mejor es guardar la ruta del archivo en la bd y el archivo como tal en el servidor no en la BD..
pero si quieres aun así guardarlo en la BD
aca te paso un link que te explica
http://www.educacioninformatica.com/modules/wpe/?p=13

cualquier duda, andamos por acá
__________________
aconcaguaestudio.com
  #3 (permalink)  
Antiguo 22/07/2011, 09:15
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar en mysql

Te agradezco enormemente, el funcionamiento para insertarlo lo comprendo, pero cuando son varios como que se complica, subir archivos al servidor y la ruta en bd?, pero necesitaria tambien insertar varios, no entiendo muy bien la idea
  #4 (permalink)  
Antiguo 22/07/2011, 09:27
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: insertar en mysql

a ver, serían varios archivos para el mismo registro ??
ejemplo
el registro con id=1 tendrá varios archivos asociados ?

o será un archivo para cada registro, pero insertarás varios al "mismo tiempo" ?
__________________
aconcaguaestudio.com
  #5 (permalink)  
Antiguo 22/07/2011, 09:30
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar en mysql

Claro , serian varios archivos para un mismo registro, ajam el registro con id 1 tendrá varios registros, osea una idea podria ser, crear una nueva tabla y alli insertar todos los archivos, pero con el id del formulario osea pueden haber 5 archivos pero con id 1, pueden haber 20 registros pero con id 2, me deje entender?
  #6 (permalink)  
Antiguo 22/07/2011, 09:36
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: insertar en mysql

bueno, mira esta idea que se me ocurre de momento

creas una carpeta en el servidor (llamemosle "Carpeta" )
y guardamos dentro de ella carpeticas por id

ejemplo

Carpeta/1/archivo1.jpg
Carpeta/1/archivo2.jpq
Carpeta/1/archivo3.jpg


Carpeta/2/archivo1.jpg
Carpeta/2/archivo2.jpq

---- etc

entonces

tenemos una tabla en la BD que se llama archivos

id | idArchivo | ruta
1 1 archivo1.jpg
2 1 /archivo2.jpg
3 1 /archivo3.jpg
4 2 /archivo1.jpg
5 2 /archivo1.jpg

para tener todos los archivos del que tiene id=1

select ruta from tabla where idArchivo='1'
__________________
aconcaguaestudio.com
  #7 (permalink)  
Antiguo 22/07/2011, 09:45
 
Fecha de Ingreso: julio-2011
Mensajes: 50
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: insertar en mysql

Excelente la idea, brillante, mira mi carpeta uploaded, hasta alli creo que hay algo, ahora crearle un identificador unico cierto?
  #8 (permalink)  
Antiguo 22/07/2011, 09:50
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: insertar en mysql

si te hace falta un identificador unico para que tengas la certeza de que Carpeta/identificador/ sea unico para cada 1

mira
puedes tener esto


tabla archivos
id | nombre | descripcion | etc


tabla archivos_rutas (donde idArchivo sería el id que tiene en tabla archivos)
id | idArchivo | ruta
__________________
aconcaguaestudio.com

Etiquetas: html, mysql, tabla
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 19:24.