Ciao a tutti.
Ho bisogno di far si che un file si scarichi solo quando la richiesta proviene dal link di una pagina del mio sito. come posso fare?
Grazie,
Alessandro
Ciao a tutti.
Ho bisogno di far si che un file si scarichi solo quando la richiesta proviene dal link di una pagina del mio sito. come posso fare?
Grazie,
Alessandro
Devi fare un test sulla variabile $_SERVER['HTTP_REFERER'] che contiene l'url di provenienza
Cioè?
in pratica dovrei fare un controllo e poi come faccio per lanciare il download in automatico?
Ale
riguardo gli header fai una ricercanel forum, questo argomento è stato già trattato molte volteCodice PHP:
if($_SERVER['HTTP_REFERER']=="la pagina da dove deve provenire"){
fai partire il download con un header
}
Ho provato così ma non funge.
cosa sto sbagliando?
// download automatico
$nomeFile = "../download/prova.pdf";
// lunghezza in byte
$len = "34kb";
// contenuto del file, lo puoi leggere usando la funzione fread()
$what = "prova";
$user_agent=${"HTTP_USER_AGENT"};
if (strpos($user_agent,"Prova")) $nomeFile = str_replace("ö","o",str_replace("ä","a",strtolower ($nomeFile)));
header("Pragma: public");
header("Cache-control: private"); // fix for IE
header("Expires: 0");
header("Content-type: application/RFC822");
header("Content-type: octet/stream\n");
header("Content-transfer-encoding: binary\n");
header("Content-Disposition: attachment; filename=".stripslashes($nomeFile)."\n");
header("Content-Length: ".$len);
echo $what;
Mi salva un file senza estensione di nome download con dentro la scritta:
prova.pdf
Dove sbaglio?
Ale