Nella stessa directory del file da scaricare, crea un file chiamato ".htaccess" (se non esiste già). Quindi, scrivici (o aggiungici):
Codice:
<Files ~ "file.txt$">
Order allow,deny
Deny from all
Satisfy All
</Files>
(ovviamente, sostituisci "file.txt" con il nome del file).
A questo punto, hai bloccato l'apertura del file da url; ma è possibile accedere da PHP. Quindi fai una pagina del genere:
download.php
Codice PHP:
<?php
session_start();
if(!isset($_SESSION['amministrazione']))
die('Non puoi scaricare questo file.');
$file = 'file.txt'; //SOSTITUISCI IL NOME
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=".$file);
header("Content-Transfer-Encoding: binary");
readfile($file);
?>
..accedendo a questa pagina (download.php), inizierà il download del file (o almeno, dovrebbe).
Ciao!