Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Где хранить файлы проекта?

Thermodynamix Ученик (47), открыт 1 неделю назад
Допустим, мне нужно сделать сайт, который будет хранить музыку. Вот такой вопрос: В базе ее конечно не хранят, хранят только имя и айди, а вот саму музыку хранят на сервере. Если у меня проект на Laravel, в какой папке лучше всего хранить
7 ответов
Бабиджончик мамант Мастер (1241) 1 неделю назад
Храни в бочке унитаза
Стивен СигмаГуру (4449) 1 неделю назад
там всё занято наркотой
Олег Отмываев Знаток (379) 1 неделю назад
В проекте Laravel рекомендуется хранить музыку в каталоге storage. Этот каталог предназначен для хранения файлов, загружаемых пользователями, и других файлов, не относящихся к коду приложения.

Внутри каталога storage вы можете создать подкаталог для хранения музыки, например:

storage/music


Затем вы можете использовать метод store() класса Storage для сохранения музыкальных файлов в этом каталоге:

$path = $request->file('music')->store('music');


После сохранения файла вы можете получить его путь относительно корня хранилища с помощью метода path():

$path = Storage::path($path);


Или получить полный URL-адрес файла с помощью метода url():

$url = Storage::url($path);


Таким образом, вы можете легко хранить и управлять музыкальными файлами в своем приложении Laravel.
ThermodynamixУченик (47) 1 неделю назад
Спасибо бро
Рома Л Гуру (3277) 1 неделю назад
На жестком диске хранить
Андрей Высший разум (464982) 1 неделю назад
В той, которую лично ты считаешь подходящей. Понятно, что это должна быть отдельная директория, в которой не должно быть php-файлов.

Если файлов планируется много, то, обычно в этой директории создаётся множество поддиректорий, а уже в них уже хранятся файлы. Это связано с тем, что когда файлов в директории очень много, увеличивается время открытия файла.

Например, существует такая схема: в директории хранения создаётся 256 поддиректорий с именами от 00 до ff, в каждой из этих поддиректорий в свою очередь создаётся по 256 поддиректорий с именами 00 - ff. И уже по этим 65536 поддиректориям второго уровня более-менее равномерно раскидываются файлы.
Вася Б Мастер (1648) 1 неделю назад
Мозги бы Андрея да каждому!
Alex Искусственный Интеллект (118407) 2 дня назад
Лучше хранить на 1 директорию выше корня проекта, куда нет доступа у пользователей. А при скачивании файла не давать прямую ссылку а качать скриптом.
Кстати можно и в базе хранить.
<?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;
?>
Похожие вопросы