Вы смотрели на File
класс? У него есть метод download
, в который вы передаете path
файла. Второй параметр позволяет указать имя загружаемого файла.
File::download('path/to/file.txt, 'new-file-name.txt');
Если вы хотите ограничить загрузку для каждого пользователя, вам нужно добавить логику вокруг этого.
https://fuelphp.com/docs/classes/file/usage.html#/method_download
Пример
Создайте новый контроллер, как вы указали, download.php
, и используйте в качестве отправной точки следующее.
Вам нужно будет передать что-то в get_index
, чтобы определить, какой файл будет загружен клиентом. Я бы предложил какой-то поиск, используя уникальный идентификатор вместо пути к файлу, иначе это легко можно было бы использовать.
class Controller_Download extends Controller
{
public function get_index()
{
// @todo add logic surrounding file download
File::download('path/to/file.txt, 'new-file-name.txt');
}
}