Лучший ответ
Ответы
-
0 0
Фортер 5 (3874)236 13 лет
Допустим, у вас есть таблица в базе с именами файлов и их идентификаторами. А также папка files с собственно файлами. Тогда делайте, к примеру, файл download.php, и ссылка на файл будет вида http://www.example.com/download.php?id=1
Скрипт сделан для примера, чтобы понять принцип. Использовать его не надо, т.к. у нет обработки входящих данных как минимум, да и реальный скрипт будет по-длиннее. Готовое решение на блюдечке с голубой каемочкой вам просто так никто не сделает :)
$path = "files/";
$file = $path.mysql_result(mysql_query('SELECT filename FROM files WHERE id='.$_GET['id']), 0, 0);
if ( $fd = fopen($file, "r") )
{
$fsize = filesize($file);
$path_parts = pathinfo($file);
header("Content-type: application/octet-stream");
header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");
header("Content-length: ".$fsize);
header("Cache-control: private");
while(!feof($fd))
{
$buffer = fread($fd, 2048);
echo $buffer;
}
}
fclose ($fd);