PHP - INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

 
Vista:
Imágen de perfil de Eduardo
Val: 84
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

Publicado por Eduardo (28 intervenciones) el 05/01/2021 21:15:07
Buenas tardes.
Espero que me puedan apoyar. Necesito insertar archivos PDF e Imagenes en mi Base SQL Server, pero no se como hacerlo.

Tengo mis input donde ingreso los archivos y la validación de los mismos la hago con Js:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<label>Adjuntar archivos:</label><br>
 
<div class="btn_archivos">
<section class="text-center" >
	<input type="file" id="archivoInput" onchange="return validarExt()" class="input-file" value="" accept=".pdf">FACTURA .PDF  <span class="glyphicon glyphicon-file"></span>
</section>
</div>
 
 
<div class="btn_imagen">
<section class="text-center" >
	<input type="file" id="imagen" name="imagen" onchange="return validarExtimg()" class="input-file" value="" accept="image/png, .jpeg, .jpg, image/gif"><strong>IMAGEN .JPEG</strong>  <span class="glyphicon glyphicon-picture"></span>
</section>
</div>

Mi duda es, como inserto esos archivos en mi BDD y posteriormente como mostrarlos. Los campos en mi base son de tipo VARBINARY(MAX). Ojala me puedan ayudar :(
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

Publicado por Mauro (1036 intervenciones) el 07/01/2021 02:18:14
Hola Eduardo:

Podrías usar campos tipo VARBINARY como comentas y generar SQLs para insertar los valores usando la función file_get_contents por ejemplo, sin embargo, te recomiendo que no lo hagas.

En su lugar, lo más conveniente es guardar los archivos en algún almacenamiento (Un disco, S3 o similar) y en la db guardar la ruta al archivo.

Aquí tienes un detalle más amplio.

Consúltame si te quedaron dudas ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Eduardo
Val: 84
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

Publicado por Eduardo (28 intervenciones) el 07/01/2021 18:17:02
Hola, muchas gracias por responder.

Lo resolví de esta manera, ya se inserta en mi base de datos como quiero (solo el nombre y no el archivo):


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$imagen = $_FILES ['imagen'];
$nombre_foto = $imagen ['name'];
$tipo = $imagen['type'];
$url = $imagen ['tmp_name'];
 
 
$img_producto = "imagen_default.png";
 
 
if ($nombre_foto != ''){
 
    $destino = $_SERVER '../imagenes/productos/';
    $img_nombre ='img_'.date('d-m-Y H:m:s');
    $imagen_producto = $img_nombre.'.jpg';
    $src = $destino.$imagen_producto;
 
}

Ahora el problema es que al intentar mover la imagen a la carpeta donde quiero almacenarla de manera local me da el siguiente error Warning: move_uploaded_file(C:/wamp64/www../imagenes/productos/img_07-01-2021 17:01:11.jpg): failed to open stream: No such file or directory in C:\wamp64\www\Inventario\includes\guarda_productos.php on line 66, lo intento mover de esta manera:

1
2
3
4
if($nombre_foto != '')
{
	move_uploaded_file($url,$src);
}

espero me puedas ayudar por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

Publicado por Mauro (1036 intervenciones) el 11/01/2021 14:39:36
Me parece que te falta una barra en la dirección del archivo, fíjate que dice que el nombre original es:

C:/wamp64/www../imagenes/productos/img_07-01-2021 17:01:11.jpg

Cuando debería ser

C:/wamp64/www/../imagenes/productos/img_07-01-2021 17:01:11.jpg

Otro tema que puede estar dificultando es el uso del caracter ":"... en Windows tiene un significado especial. Te diría que trates de manejarte con archivos que sólo usen caracteres alfanuméricos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de Eduardo
Val: 84
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

Publicado por Eduardo (28 intervenciones) el 11/01/2021 21:58:40
Muchas gracias, efectivamente el error eran los ":", los quite y funciona sin problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

INSERTAR PDF E IMAGEN A BASE SQL SERVER CON PHP

Publicado por Mauro (1036 intervenciones) el 12/01/2021 13:48:44
Excelente!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar