PHP - ¿Por qué no se inserta la ruta de la imágen en mysql usando php?

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

¿Por qué no se inserta la ruta de la imágen en mysql usando php?

Publicado por Suriel (14 intervenciones) el 28/11/2019 15:11:29
Tengo un listado de registros a los cuales les quiero insertar imágenes usando un botón que envía "id_persona" y lo recibe en el script de a continuación. "id_persona sirve como llave de enlace a la tabla imágenes. Esta tabla de imágenes sólo tiene 3 campos id_imagen, id_persona(foráneo) y ruta...

El problema es que solo estoy recibiendo las imágenes en la carpeta del servidor, pero la ruta NO SE inserta...
Quiza que mi query esta mal????


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
 
 include("conexion.php");
 $id_persona = $_POST['id_persona'];
 
 
 //Como el elemento es un arreglos utilizamos foreach para extraer todos los 
 valores
 foreach($_FILES["file"]['tmp_name'] as $key => $tmp_name)
 {
 //Validamos que el archivo exista
 if($_FILES["file"]["name"][$key]) {
    $filename = $_FILES["file"]["name"][$key]; //Obtenemos el nombre 
  original del archivo
    $source = $_FILES["file"]["tmp_name"][$key]; //Obtenemos un nombre 
  temporal del archivo
 
    $directorio = 'imagenes/'; //Declaramos un  variable con la ruta donde 
  guardaremos los archivos
 
    //Validamos si la ruta de destino existe, en caso de no existir la 
  creamos
    if(!file_exists($directorio)){
        mkdir($directorio, 0777) or die("No se puede crear el directorio de
  extracci&oacute;n");
    }
 
    $dir=opendir($directorio); //Abrimos el directorio de destino
    $target_path = $directorio.'/'.$filename; //Indicamos la ruta de 
  destino, así como el nombre del archivo
 
    //Creamos consulta
    $query = "INSERT INTO imagenes (id_persona, ruta) values
   ('$id_persona','$target_path')";
        //Movemos y validamos que el archivo se haya cargado correctamente
    //El primer campo es el origen y el segundo el destino
    if(move_uploaded_file($source, $target_path)) {
        echo "El archivo $filename se ha almacenado en forma exitosa.<br>";
        } else {
        echo "Ha ocurrido un error, por favor inténtelo de nuevo.<br>";
    }
    closedir($dir); //Cerramos el directorio de destino
    }
  }  ?>
Sin-titulo
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¿Por qué no se inserta la ruta de la imágen en mysql usando php?

Publicado por Kathyu (905 intervenciones) el 28/11/2019 15:34:38
1
2
3
$directorio = 'imagenes/'; // Ya lleva un slash final => /
...
$target_path = $directorio.'/'.$filename; // le agrega otro => imagenes//nombreArchivo.jpg

Creo que por ahí va la jugada.

PD: solo meta el nombre, la ruta puede (y no me diga que no ) cambiar en un futuro
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 Suriel
Val: 24
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

¿Por qué no se inserta la ruta de la imágen en mysql usando php?

Publicado por Suriel (14 intervenciones) el 28/11/2019 19:20:50
@Kathyu No funcionó.
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 Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¿Por qué no se inserta la ruta de la imágen en mysql usando php?

Publicado por Lawliet (351 intervenciones) el 28/11/2019 23:12:43
Hola!!!

No veo en que momento haces la ejecución de la consulta; es decir, esto...

1
2
3
4
5
6
7
8
<?
$sql = "INSERT INTO imagenes (id_persona, ruta) values (".$id_persona.",'".$target_path."')";
if(mysqli_query($conn,$sql)) {
	echo "Registro guardado correctamente!";
} else {
	echo "Error: " . mysqli_error($conn);
}
?>

Lo único que observo es la subida de una imagen al servidor y la creación de la consulta, te hace falta, ejecutar dicha consulta.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos! :3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Suriel
Val: 24
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

¿Por qué no se inserta la ruta de la imágen en mysql usando php?

Publicado por Suriel (14 intervenciones) el 28/11/2019 23:56:38
Amigo @Lawliet muchisimas gracias, no tienes idea de como estuve buscando en muchos lados y sólo tu me diste la solución.
GRACIAS¡
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