PHP - Obtener y usar datos de base de datos

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 25 puestos en PHP (en relación al último mes)
Gráfica de PHP

Obtener y usar datos de base de datos

Publicado por Zoilo (3 intervenciones) el 06/04/2021 08:36:43
Hola! Estoy haciendo una app web que consiste de un administrador de archivos. Habría un usuario con acceso a todos, y otros que tendrian acceso solo a los que les corresponda. Para eso, cada registro tendria un id que es autoincremental, y cuando alguien sube un archivo, se guardaría en una carpeta cuyo nombre es ese numero de id. Mi problema es que, si subo dos archivos con dos usuarios distintos, todos se guardan en la misma carpeta del id "1" (obvio ya corrobore que efectivamente, los id de estos dos usuarios sí sean distintos). La app se maneja con sesiones. Al entrar se debe colocar usuario y contraseña. Laa base de datos consta de una tabla con tres columnas (nombre, contraseña, id) en ese orden. Este es el php.

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
<?php
 
    $mysqli = new mysqli('localhost','Zoilo','adminroot','laboratoriopehuen');
    $query = "SELECT id FROM usuarios";
    $result = $mysqli->query($query);
    $row = $result->fetch_array(MYSQLI_BOTH);
 
    if($_FILES["file"]["error"]>0){
    echo "Error";
    } else {
            $ruta = 'files/'.$row["id"].'/';
            $archivo = $ruta.$_FILES["file"]["name"];
 
            if(!file_exists($ruta)){
                mkdir($ruta);
            }
 
            if(!file_exists($archivo)){
 
                $resultado = @move_uploaded_file($_FILES["file"]["tmp_name"], $archivo);
 
                if($resultado){
                    echo "El archivo ha sido guardado exitosamente.";
                } else {
                    echo "Error al cargar archivo";
                }
 
            } else {
                echo "Ya existe un archivo con el mismo nombre.";
            }
        }
 
?>
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

Obtener y usar datos de base de datos

Publicado por Mauro (1037 intervenciones) el 06/04/2021 13:53:43
Hola Zoilo:

Nota que siempre estás ejecutando la misma consulta (SELECT id FROM usuarios) y siempre te quedas con el primer registro ($row = $result->fetch_array(MYSQLI_BOTH)) con lo cual la única forma de que eso genere un número diferente en $ruta = 'files/'.$row["id"].'/'; sería que se elimine un usuario entre medio de ambas subidas :(
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
sin imagen de perfil
Val: 6
Ha aumentado su posición en 25 puestos en PHP (en relación al último mes)
Gráfica de PHP

Obtener y usar datos de base de datos

Publicado por Zoilo (3 intervenciones) el 06/04/2021 19:29:34
Oh, ya veo… bueno, muchas gracias Mauro! Lo intentaré de otra forma!!
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

Obtener y usar datos de base de datos

Publicado por Mauro (1037 intervenciones) el 07/04/2021 15:26:38
Genial. Consúltame si te quedan dudas ;)
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