Mostrar imágenes con ruta en BD

Por la tarde te hice una pregunta tal vez podamos olvidarla o bien si gustas comentarme algo al respecto adelante, mi cuestión es la siguiente, investigandole encontré esta forma te explico...

Retomando el ejemplo en el cual me ayudaste...

Tengo un form que me sube una carpeta entera de POR No de imágenes...

<td width="28%"><font color="#00FFFF">Subir ZIP, contenedor de imágenes JPG</font></td>
 <td width="70%"><input id="files" name="txtjpg[]" size="67" type="file" multiple="" directory="" webkitdirectory="" mozdirectory="">

En mi upload.php, pongo las rutas

// Ruta donde se guardarán las imágenes
 $directorio = $_SERVER['DOCUMENT_ROOT'].'/upload/';
 $directorio_web = '/upload/';

y recibo los datos.

// Recibo los datos del campo Subir ZIP, contenedor de imágenes JPG
 $nombrejpg = $nombrejpg."%".$_FILES['txtjpg']['name'];
 $tipojpg = $tipojpg."%".$_FILES['txtjpg']['type'];
 $tamanojpg = $tamanojpg."%".$_FILES['txtjpg']['size'];

Declaro $var = $var."%".$_FILES[ para guardar una cadena de archivos en un campo de mi base de datos creo que aquí necesito ayuda o no se mas abajo explico....

Con esta parte subo el conjunto de archivos al server

foreach ($_FILES['txtjpg']['name'] as $i => $name) 
 {
 if (strlen($_FILES['txtjpg']['name'][$i]) > 1) 
 {
 move_uploaded_file($_FILES['txtjpg']['tmp_name'][$i], $directorio.$name);
 }
 }

Esta es mi consulta para guardar en la DB

$sql = "INSERT into he_upload_estudios (username, fecha_estudio, estudio, tipo_estudio, clinica, medico, detalle, pdf, jpg, dicom) values 
 ('$usuario','$fecha','$estudio','$testudio','$hospital','$especialista','$detalle','".$directorio_web.$nombrepdf."','".$directorio_web.$nombrejpg."','".$directorio_web.$nombredicom."')";
 $resultado = mysql_query($sql);

Hasta aquí todo marcha de maravilla me sube los archivos a la carpeta al servidor

Pero el detalle es que en el campo JPG de la base de datos solo me almacena esto /upload/%Array y mi código para descargar el contenedor zip el cual me habías ayudado es este...

<a href="<?php echo $rsEmp['jpg']; ?>"><img src="img/zip.png" alt="archivo" width="30" height="31">

esta tal cual, por que hice la pruba subiendo una sola imagen antes de modificar todo y me la abría en automático en mi explorador, es por eso que quiero subir varias imágenes para que al darle click me las muestre en auto en el explorador, pero al hacerlo con este código que te enseño nada más no me muestra nada por que en la DB solo me almacena %Array y no la ruta de todas las imágenes que subí, por favor si pudieras ayudarme o apoyarme en como puedo subir varias imágenes y almacenar la ruta en DB y con un solo vinculo llamar a todas las imágenes.

1 respuesta

Respuesta
1

Lo que pasa es que tendrás que hacer un bucle para poder realizar bien esta operación, si te das cuenta cuando te dice:

/upload/%Array

Es porque estas trabajando como si fuese un solo archivo en condiciones de que has subido un array de archivos.

Un punto importante que ve es que no entiendo la razón de que uses el símbolo % en tu script.

Esto funcionaría de la siguiente forma (para subir un solo archivo)

// Recibo los datos del campo Subir ZIP, contenedor de imágenes JPG
 $nombrejpg = $nombrejpg."%".$_FILES['txtjpg']['name'][0];
 $tipojpg = $tipojpg."%".$_FILES['txtjpg']['type'][0];
 $tamanojpg = $tamanojpg."%".$_FILES['txtjpg']['size'][0];

Si te das cuenta he colocado un 0 al final para ejemplificar que requiero el primer de los múltiples archivos que se han subido.

Para poder saber cuantos archivos has subido y poder implementar esto de manera dinámica has un count

$cant_archivos = count($_FILES['txtjpg']['name']);

Con ese dato puedes encerar todo el proceso de guardado en un for incrementado hasta la cantidad e archivos que subiste. De esta forma podrás recorrer y guardar todos los archivos subidos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas