Найдите способ определения файла для загрузки (например, переменная GET, которая соответствует идентификатору строки в базе данных или что-то в этом роде). Убедитесь, что это действительно так, потому что вы не хотите, чтобы ваши пользователи могли скачивать что-либо с вашего сайта. Затем используйте header
с Content-Disposition
, чтобы сообщить браузеру, что файл должен быть загружен, и readfile
, чтобы вывести его.
Например:
<?php
$id = intval($_GET['id']);
$query = mysql_query('SELECT file_path FROM files WHERE id = ' . $id);
if (($row = mysql_fetch_row($query)) !== false)
{
header('Content-Disposition: attachment; filename=' . basename($row[0]));
readfile($row[0]);
}
exit;
?>