mostrar pdf no ruta

Iniciado por bgnumis, 29 Agosto 2017, 15:47 PM

0 Miembros y 1 Visitante están viendo este tema.

bgnumis

Hola tengo una duda, tengo unos archivos en una carpeta llamada "archivos" donde tengo subidos el index (en el servidor) y dentro de esa carpeta unos archivos:


Código (php) [Seleccionar]

<?php
 
 $conexion
=mysql_connect("localhost","usert""ddsr") or die("Problemas en la conexion");
mysql_select_db("ugtdef",$conexion) or die("Problemas en la selección de la base de datos");  

 
$result mysql_query("SELECT * FROM listadoac");  
 
?>

<table class="table table-condensed table-hover table-bordered table-striped">
<tr>

    <td><strong> Fecha </strong></td>
    <td><strong> Nombre </strong></td>
    <td><strong> Nombre Largo</strong></td>

<td><strong> Descripción y observaciones</strong></td>

      <td><strong> Archivo </strong></td>
                   
                    </tr>
                   
               <?php   
 
 
while ($row mysql_fetch_row($result)){   
    echo 
"<tr>";  
    echo 
"<td>$row[1]</td>";  
    echo 
"<td>$row[2]</td>";  
    echo 
"<td>$row[3]</td>";  
  echo "<td>$row[4]</td>"
    echo "<td><a href=$row[5]>archivo</a></td>"

    echo 
"</tr>";  
}  
  
?>
 
</table>


La cuestión es que al poner "href=$row[5]" sale el link al pdf. La sorpresa es que el pdf sin estar logeado, sí se puede ver si te sabes la ruta www.miweb.com/archivos/fichero.pdf

¿Como podría hacer para que www.miweb.com/archivos/fichero.pdf sólo sea accesible para los usuarios logeados? Si que tengo un session start y me redirige si tratas de entrar a cualquier página php de esa al index donde debes registrarte pero en los pdf no lo hace?



ivancea96

Puedes hacer un archivo PHP que sirva el o los archivos.
Simplemente, dentro de ese código, compruebas si está logueado. Si no lo está, lo rechazas y lo envías a donde quieras o muestras un error de permisos.
Si está logueado, le sirves el archivo. Esto lo puedes hacer cambiando las cabeceras de la respuesta con "header()" y escribiendo el contenido del archivo.
Aquí tienes un ejemplo: http://php.net/manual/en/function.readfile.php