ответ довольно прост,
@Jon Stirling опубликовал это, когда я печатал, но я объясню немного больше для вас
один помещает ваши файлы за пределы вашей общедоступной директории html,
Настройка E.G cpanel
user/public_html
/public_html/download.php
user/documents/
/documents/file.doc
/documents/file.pdf
@ dhh опубликовал базовый download.php
php файл, однако, поскольку вы хотите принудительно загрузить их вещи, которые вы можете сделать, например, найти и предоставить правильный тип пантомимы, это расширение его кода как лучшего способа 1 форсировать загрузка файла, и 2 позволяют различные типы файлов
download.php
//check users is loged in and valid for download if not redirect them out
// YOU NEED TO ADD CODE HERE FOR THAT CHECK
// array of support file types for download script and there mimetype
$mimeTypes = array(
'doc' => 'application/msword',
'pdf' => 'application/pdf',
);
// set the file here (best of using a $_GET[])
$file = "../documents/file.doc";
// gets the extension of the file to be loaded for searching array above
$ext = explode('.', $file);
$ext = end($ext);
// gets the file name to send to the browser to force download of file
$fileName = explode("/", $file);
$fileName = end($fileName);
// opens the file for reading and sends headers to browser
$fp = fopen($file,"r") ;
header("Content-Type: ".$mimeTypes[$ext]);
header('Content-Disposition: attachment; filename="'.$fileName.'"');
// reads file and send the raw code to browser
while (! feof($fp)) {
$buff = fread($fp,4096);
echo $buff;
}
// closes file after whe have finished reading it
fclose($fp);
P.S вот большой список типов пантомимы, если вы хотите добавить поддержку других файлов.
http://www.hansenb.pdx.edu/DMKB/dict/tutorials/mime_typ.php