Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#2 Re: Laravel 5.x » как организовать продажу файлов (цифрового контента) » 21.11.2017 18:17:53

Что этим делается? Считывается весь файл?Если да - то, хватит ли тебе ОЗУ для отдачи больших файлов?

Да, считывается весь файл.
Больших файлов не планируется. Максимум - единицы мегабайт.

Спасибо всем за помощь.

#3 Re: Laravel 5.x » как организовать продажу файлов (цифрового контента) » 21.11.2017 17:30:45

Спасибо за идею. Соорудил вот такой код для проверки:

Route::get('test', function(){
	if (true){ //проверяем, можно ли отдавать файл
		$filename = '1.jpg';
		$file = Storage::disk('local')->get($filename);
		return response($file)->header("Content-disposition", "attachment; filename=$filename")->header("Content-Type", "jpeg");
	}
});

Вроде делает, то что требуется. Что скажете? Рабочий вариант?

#4 Laravel 5.x » как организовать продажу файлов (цифрового контента) » 21.11.2017 12:23:46

dimatti
Ответов: 7

Здравствуйте.

Прошу подсказать верное направление новичку.

Задача в целом: организовать продажу файлов.
Файлы только мои, юзеры ничего не заливают.
Пусть будут, например, картинки (типа личный фотосток). Юзеру после оплаты картинка становится доступной для скачивания (бесконечно долго).

И тут у меня возникает множество проблем. Где хранить эти файлы? Если в public-каталогах - то как быть с прямыми линками на файл (типа img/file.jpg), которые идут мимо маршрутизатора? Если в другом месте - то как их выдавать на скачивание? Каждый раз копировать в public и менять имя файла на трудноугадываемое, типа h3kjh2l32333y323sdf_file.jpg? Тогда со временем скопится куча одинаковых файлов с разными именами.

Собственно, вопрос: как грамотно организовать систему продажи файлов? Можно без конкретного кода, просто концепцию подскажите. Может, готовая библиотека какая-то есть? Гугл не помог.

Подвал раздела