Originariamente inviato da luca200
Sei fuori strada.
Primo, non hai nessun bisogno di far girare nell'url il percorso del file, l'id del lavoro dovrebbe bastarti per recuperare tale percorso.
Secondo, e più importante: se vuoi impedire agli utenti di scaricare i file pdf senza essere autenticati, devi bloccare l'accesso da web alla directory dove i file si trovano. Di conseguenza, ti serve un file php che faccia materialmente il download, ovvero vada a leggere il file binario e lo mandi al browser con le opportune intestazioni
Perfetto, grazie per la dritta, ora proverò. Il fatto è che ho creato un file che si chiama download.php a cui invio l'ID del codice lavoro, ma mi risponde file non trovato. Mentre invece se modifico l'estensione del percorso con il percorso reale, me lo da. Comunque allego il codice di download.php
Codice PHP:
<?php require_once('Connections/ufficio.php'); ?>
<?php
// Includo la connessione al database
require('config.php');
// Se non è stata definita la variabile manda l'utente alla homepage
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
?>
Codice PHP:
<?php
$recordID = $_GET['recordID'];
$id = $_SESSION['login'];
$sql = "SELECT * FROM utenti, clienti, lavori WHERE utenti.id = '$id' AND clienti.Id = utenti.clientiID AND lavori.clientiID = utenti.clientiID AND lavori.ID = $recordID";
$do_sql = @mysql_query($sql) or die('Errore con la query: ');
$array = mysql_fetch_array($do_sql);
?>
<?php
require_once('ForceDownload.class.php');
$recordID = $_GET['recordID'];
$dir = "user/$array[user]/$array[Cod_cliente]/$array[Cod_lavoro]";
$file = isset($_GET['file']) ? $_GET['file'] : '';
$download = New ForceDownload($dir, $file);
$download->download() or die ($download->get_error());
?>
/*echo $download->http_reponse;*/
/*echo '<pre>';
print_r(get_defined_constants(true));*/
E' un codice che ho trovato girovagando per internet, e che mi sono un po adattato per le mie esigenze, solo che non mi funziona.
Se mi puoi illuminare...