https://github.com/notbadcode/upload
A simple file sharing application in PHP. Slim, Bootstrap, Twig, Data mapper pattern
https://github.com/notbadcode/upload
data-mapper php php-upload php-uploader slim-framework twig
Last synced: about 2 months ago
JSON representation
A simple file sharing application in PHP. Slim, Bootstrap, Twig, Data mapper pattern
- Host: GitHub
- URL: https://github.com/notbadcode/upload
- Owner: NotBadCode
- Created: 2015-02-22T13:47:24.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-06-10T07:13:28.000Z (over 9 years ago)
- Last Synced: 2025-02-23T23:15:41.203Z (10 months ago)
- Topics: data-mapper, php, php-upload, php-uploader, slim-framework, twig
- Language: PHP
- Homepage:
- Size: 1.72 MB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Upload
A simple file sharing application in PHP.
Задание: сделать сайт, аналог rghost.ru, который позволяет загружать картинки и файлы и делиться ссылкой.
1. Главная страница, она же страница загрузки файла, содержит поле выбора файла для загрузки
2. Страница просмотра файла. Если это картинка, выводится информация о файле (имя, размер, время зазрузки, комментарий автора), уменьшенная копия и ссылка «скачать». Если это не-картинка, то только информация и ссылка скачать.
3. Страница со списком последних 100 загруженных файлов, дата, ссылка скачать, название и размер.
4. Древовидные комментарии :
Materialized Path
Идея в том, что записи в пределах одной ветки нумеруются по порядку и в каждую запись добавляется поле path, содержащее полный список родителей. Напоминает способ нумерации глав в книгах.
При этом способе path хранится в поле вроде TEXT или BINARY, по нему делается индекс. Выбрать всех потомков можно запросом SELECT WHERE path LIKE '001.001.%' ORDER BY path, который использует индекс.
Информацию о загруженных файлах удобно хранить в базе данных.
Slim
Bootstrap
Twig