|
|
|
Файлообменник (организационные моменты)
|
|||
|---|---|---|---|
|
#18+
Добрый день! Хочется понять принцип создания более менее сложного файлообменника для внутренней сетки (абоненты одного провайдера). Требования: * Размеры файлов ограничены разумными пределами, например 2-5 гигов * Файлы можно смореть как по FTP гуляя по директориям так и производить поиск по базе. * Для каждого файла можно делать описание и комментарии. Пока я вижу это так: по крайней мере не видел, чтобы большие файлы грузили по протоколу HTTP? когда есть специальный протокол FTP. Т.е. заливка происходит по FTP в какую то публичную директорию, куда могут писать все. На лету все файлы проверяются антивирусником и режутся всякие программы, содержащие вредоносный код. Загрузил файл, человек заходит на сайт и находит список не описанных файлов (назовем их UNSORTED). Выбирает файл, делает описание и выбирает папку на диске, куда нужно переместить этот файл. Файл перемещается куда надо и становится доступен например как ftp://filepomoyka/video/action/filename.avi и в то же время его описание теперь есть и в БД и можно производить поиск по базе. Так же за проектом следят модераторы и они в любой момент могут переместить файл и изменить его описание. Так вот в описанной мной идее есть два нехороших момента, а именно: так как файлы перемещаются самими пользователями, то может получится так, что разгребать папку UNSORTED сможет и другой юзер, не тот который грузил файл, соответственно он может назвать его не так и описать не так. и второй момент, все по той же причине второй юзер может начать перемещение файла когда он еще не полностью залит владельцем по FTP. например: я заливаю фильм "Матрица", залилось 15%, а кто то заходит и видит, что есть файл matrix.avi, он знает о чем фильм, знает его название и начинает делать "добрые дела" - пытается перемещать не полностью заказанный фильм. С авторизацией более менее такие коллизии решаемы, можно конечно и при регистрации на сайте заводить FTP-аккаунт, и потом не одна публичная папка для свалки на сервер, а у каждого своя. И на сайте потом каждый разгребает свою папку. Не подскажет ли многознающий ALL, как сделать транзакцией операцию "закачка файла/описание/перемещение куда надо" без авторизации. Были следующие мысли: по крону шерстить раз в сутки папку UNSORTED и базу новых описаний. если есть описание файла и разница между временем создания файла на сервере и текущим временем больше времени необходимого для заливки достаточно большого файла - перемещать его куда надо. и делать доступным для всех ессно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 07:11 |
|
||
|
Файлообменник (организационные моменты)
|
|||
|---|---|---|---|
|
#18+
В общем-то, неполностью залитый файл и не будет виден как filename.avi, если только в процессе заливки связь не оборвалась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 07:54 |
|
||
|
Файлообменник (организационные моменты)
|
|||
|---|---|---|---|
|
#18+
DocAlВ общем-то, неполностью залитый файл и не будет виден как filename.avi, если только в процессе заливки связь не оборвалась. Вы уверены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 14:40 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33460812&tid=1477024]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 453ms |

| 0 / 0 |
