Файловый архив на Drupal

Главные вкладки

Аватар пользователя Dan Dan 17 апреля 2007 в 22:18

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

Хранимые файлы будут с большим диапазоном размеров - от нескольких килобайт до сотен мегабайт. Видимо придётся делать ftp, а к нему - интерфейс. Но тогда получается двойная работа - закачиваем на ftp, потом идём на сайт и этот файл добавляем. Некошерно.

Хотя может я и не прав? Как обстоят дела с закачкой больших объёмов по http?
И вообще, какие идеи по решению подобной задачи?

Комментарии

Аватар пользователя SadhooKlay SadhooKlay (не проверено) 18 апреля 2007 в 10:14

Во первых, модуль Web File Manager и так отображается у каждого пользователя, если конечно вы его нормально поставили и включили на него права пользовательским ролям.
А во вторых, как по вашему он может повлиять на дозволенную размерность загружаемых файлов?

Аватар пользователя sas@drupal.org sas@drupal.org 18 апреля 2007 в 10:04

Аналог ftp модуль filebrowser, вот если доп. поля нужны и т.д. надо смотреть в сторону CCK кстати там есть поле filefild и mediafield и просто решаются все осатльные вкусности drupal Smile

Аватар пользователя sas@drupal.org sas@drupal.org 18 апреля 2007 в 10:11

<< Модуль webfm - подходит для этих целей?
Написано управление файлами без использования стандартного upload, вот только неясно есть ли там доп. поля - скорей всего нет.

Аватар пользователя KCEOH KCEOH 18 апреля 2007 в 14:48

Все зависит от настроек php и апача - какие (по размеру) файлы позволяют по http грузить.

Как вариант - написать небольшой кусок кода / свой скрипт. Залили файл - идем в админку - нам выводит список залитых файлов (хранятся в какой-нибудь нашей tmp-директории). Выбираем нужные, подписываем теги - файлы перекидываются из tmp-директории и публикуются.

Вообщем, способ не особо сильно отличиается от того, что описал автор топика Smile

Аватар пользователя SanZen SanZen 18 апреля 2007 в 16:30

А это, кто-нибудь знает как можно настроить заливку файлов на эфтепе ? Чтоб добавляемые файлы имели комментарии, а загрузка файла на файловый хостинг? (Не хватает места на хостинге)

Аватар пользователя flecus flecus 26 февраля 2008 в 16:24

С помощью Webfm можно дать права пользователю скачать файл либо напрямую из хранилища, либо предварительно приаттаченный к ноде, либо и оттуда и оттуда. Присоединить файл к ноде очень просто - нажимаете на него правой кнопкой и выбираете пункт: Attach to Node

Там же можно добавить описание к файлу (File meta data), установить права на него и многое другое.
Но и это не все - каждой группе пользователей можно указать разные пути к папкам с файлами, откуда они их могут скачивать (ну и загружать, если Вы дали им на это права).

Аватар пользователя Strelok Strelok 28 февраля 2008 в 9:18

Спасибо за ответ, все стало немножко яснее. Правда с нюансами придется разбираться самому :). Дело в том что WebFm я использую на сайте давно и серьезно, вот только разграничение прав добавили относительно недавно, и как то оно неочевидно настраивается.

Аватар пользователя SiR SiR 28 февраля 2008 в 14:39

Проблема всех этих модулей состоит в том, что загрузка файлов на сервер через http - чрезвычайно ресурсоемкая задача.
Если пара пользователей будет загружать через http - на сайте начнутся реальные тормоза. Простыми настройками apache это никак не лечится. Так что настоятельная рекомендация при работе с большими файловыми объемами - ftp.
Сам держу на сайте около 1T картинок.

Аватар пользователя flecus flecus 28 февраля 2008 в 15:32

Работа через FTP таит в себе опасность перехвата данных посторонними. Лучше загружать файлы через SSH, конечно если есть возможность. Я для этих целей пользуюсь программой WinSCP

Аватар пользователя andrews andrews 28 февраля 2008 в 16:55

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

Можно написать CGI-скрипт, который принимает файл сразу в нужное место, тогда тормозов не будет, поскольку он не будет хранить данные в памяти, а будет складывать все на диск.

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

Аватар пользователя Михаил26 Михаил26 (не проверено) 18 марта 2008 в 14:30

Привет, все перепробывал, ну не появляется, как у Вас на скрине "Attach to Node" (((
что не так делаю, все файлы вижу, в БД добавляю...

Аватар пользователя Strelok Strelok 8 апреля 2008 в 12:50

Могу только предположить, что ты пытаешься прикрепить файл напрямую из файлового менеджера, вызывая его через пункт в меню Навигация.
Чтобы все работало, нужно в настройках типов файлов включить прикрепления WebFM, а сами файлы прикреплять следует при создании\редактировании ноды.

Аватар пользователя PanDa777 PanDa777 8 апреля 2008 в 20:24

Кстати, возник следующий вопрос: возможно ли (используя Java-апплет, например), сделать загрузку больших (или большого количества маленьких) без необходимости загрузки отдельного ftp-manager? То есть, например, для загрузки множества фотографий на сайт? Есть ли вполне известные, довольно просто интегрируемые "скрипты"?

Аватар пользователя Yaroslaw Yaroslaw 9 апреля 2008 в 11:25

Подскажите пожалуйста модуль для самого простого каталога файлов - тоесть название, описание, может картинка и ссылка на файл. без возможности загрузки по http и других наворотов.
хочу обойтись без cck и views, так как к стандартному комплекту нужна только библиотека файлов.