PHP - Mostrar fichero y es igual a un campo

 
Vista:

Mostrar fichero y es igual a un campo

Publicado por Pedro (8 intervenciones) el 31/12/2017 17:31:55
Quisiera hacer lo siguiente:

Cuando me conecto sé capturar el usuario que está registrado (y en la tabla de mi bdd en phpmyadmin "usuarios" a parte de username, también está un campo que es un código como ejemplo algo así JH322244478Z (se llama iduser).

Lo que pretengo hacer es a través del username consultar la tabla usuarios y obtener el iduser de ese usuario.

Ahora viene la pregunta a ver si creeis que puede ser. Yo tengo una carpeta llamada pdfs y en esta hay un pdf por cada usuario y cada año. Por ejemplo uno seria 2017JH322244478Z.pdf y 2018JH322244478Z.pdf

Lo que quiero es mostrar de entre todos los pdf el del cliente,

haciendo algo así como un echo de todos los ficheros pdf que sólo muestre aquellos de donde los últimos 12 caracteres del nombre de cualquier pdf de ese carpeta pdfs sean iguales a iduser y que me los muestre en una tabla.

Esto es descabellado o habría otra forma más eficiente. ¿alguien me puede ayudar con algún ejemplo parecido?
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

Mostrar fichero y es igual a un campo

Publicado por Yamil Bracho (24 intervenciones) el 31/12/2017 18:14:31
Es totalmente factible y solo tiemes que usar la funcion scandir para que te retorne el nombre de los archivos que estan en un directorio
y luego filtrar por el usuario. Mas o menos eria un codigo como :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$username = $_POST['username'];
 
$mysqli = new mysqli();
$mysqli->connect(HOSTNAME, USERNAME, PASSWORD, DATABASE);
 
$sql="SELECT codigo FROM usuarios WHERE username='" . $username . "'";
$result = $mysqli->query($sql);
$valores = $result->fetch_array(MYSQLI_NUM);
$codigo = is_array($valores) ? $valores[0] : "";
$mysqli->close();
 
$archivos = array();
 
if (strlen($codigo) > 0) {
   $dir    = '/tmp';
   $files = scandir($dir);
   foreach($files as $file) {
      if (stristr($file, $codigo)) {
         array_push($archivos, $file);
      }
   }
}

Tambien uede usar DirectoryIterator...
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