0 Пользователей и 1 Гость просматривают эту тему.
  • 27 Ответов
  • 15838 Просмотров
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Докачка в ReMOSitory и DocMan
« : 04.01.2007, 18:00:25 »
С удивлением обнаружил, что Remository не поддерживает докачку. По прямой ссылке файл качается с докачкой, но этот же файл по ссылке от Remository - нет. Поискал по форуму и инету - ничего вразумительного, кроме того, что проблема общая и для Remository и для Docman'а. Наверное плохо искал? Ктонить знает решение?
*

ButuzOFF

  • Захожу иногда
  • 144
  • 22 / 2
Re: Докачка в ReMOSitory и DocMan
« Ответ #1 : 04.01.2007, 23:28:32 »
Может ошибаюсь, но ИМХО ремозитори тут не причем, не поддерживает докачку сервер (софт серв)
Ремозитори передает ссылку токо,глюк с этим наверно попробуй вырубить антилич
У мну и то и другое стояло все в норме
Кста дето по форуму похожее пробегало, порою
« Последнее редактирование: 04.01.2007, 23:32:40 от ButuzOFF »
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #2 : 05.01.2007, 03:06:40 »
ButuzOFF
Цитировать
не поддерживает докачку сервер
Внимательнее:
Цитировать
По прямой ссылке файл качается с докачкой, но этот же файл по ссылке от Remository - нет.

Цитировать
Может ошибаюсь, но ИМХО ремозитори тут не причем
Да, ошибаешься. Remository не то, что бы ни при чем - он вообще напрочь не знает что такое докачка. Попробуй поискать чтонить по ключевому слову "HTTP_RANGE" - найдешь - поделись радостью.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #3 : 05.01.2007, 03:21:30 »
ButuzOFF
Вот ты и есть "токо"

Цитировать
Ремозитори передает ссылку токо
Дык вот именно в этом и трабл: "Ремозитори передает ссылку токо", - вместо того, чтобы передать, что клиент запросил загрузку файла с определенного места - он передает только запрос на закачку всегда с начала!

"токо" - это по-каковски? может я не так понял всю гламурность мысли?
« Последнее редактирование: 05.01.2007, 08:00:20 от ForeverYoung »
*

ButuzOFF

  • Захожу иногда
  • 144
  • 22 / 2
Re: Докачка в ReMOSitory и DocMan
« Ответ #4 : 05.01.2007, 12:05:26 »
Послушайте уважаемый, если вы такой умный че в форуме совета просите?
Формулируйте вопрос нормально
Причем тут "ремозитори не поддерживает докачку" ?
Ремозитори неправильно передает ссылку на закачку!
Можно еще пару минусов  ;D Ну что сказать....
И не надо меня цитировать через строчку,а хамить в приват плиз
« Последнее редактирование: 05.01.2007, 12:33:01 от ButuzOFF »
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #5 : 05.01.2007, 16:43:01 »
Цитировать
Послушайте уважаемый, если вы такой умный че в форуме совета просите?
Да потому-что "ум хорошо, а два лучше!" Спросил еще на оффоруме ReMOSitory - пока без ответа.

Цитировать
Формулируйте вопрос нормально
Причем тут "ремозитори не поддерживает докачку" ?
Ремозитори неправильно передает ссылку на закачку!
А в чем ты углядел разницу?

Цитировать
Можно еще пару минусов
Тут уж сорри, под руку попал: я сам позавчера получил минус ни пойми от кого, ни пойми за что - вот и взялся с минусами поэкспериментировать: что это, как, где отмечается. Получи компенсацию.

Цитировать
И не надо меня цитировать через строчку,а хамить в приват плиз
А что поделать, если у тебя "через строчку" неправда? Это хамство?

Re: Докачка в ReMOSitory и DocMan
« Ответ #6 : 05.01.2007, 17:37:38 »
Как так. Ремостери ту же ссылку выдает тока в красивом виде. (Оформление и т.д.).
Не сталкивался с таким ни разу.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #7 : 05.01.2007, 20:17:31 »
BadKind
Цитировать
Ремостери ту же ссылку выдает тока в красивом виде.
в "красивом виде" - это уже _другая_ ссылка.

Цитировать
Не сталкивался с таким ни разу.
А хоть раз с докачкой по ссылке ReMOSitory или DocMan'а сталкивался?

Re: Докачка в ReMOSitory и DocMan
« Ответ #8 : 05.01.2007, 21:35:34 »
Хм странно.
Извини, столкнулся DM пишет докачка не поддерживается. Хм. А зачем он ссылку меняет то?!
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #9 : 06.01.2007, 04:17:50 »
BadKind
Цитировать
А зачем он ссылку меняет то?!
Ну, во-первых, файла может вообще не быть на сервере в чистом виде - он может храниться в БД. Во-вторых, ReMOSitory не просто "меняет ссылку" - он именно отдает файл, точнее руководит этим процессом. При этом он не умеет отдать файл не с начала, а с какой-то другой точки. Соответственно и многопоточность так же пролетает мимо.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #10 : 07.01.2007, 06:30:03 »
Гы-гы... Буржуины в своем репертуаре:
Цитировать
It is a lot of work to implement. Would you care to sponsor the development?
*

goddan

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: Докачка в ReMOSitory и DocMan
« Ответ #11 : 18.01.2007, 16:51:34 »
Господа, как решить проблему докачки в docman?
Спасибо.
*

ca510

  • Новичок
  • 7
  • 0 / 0
Re: Докачка в ReMOSitory и DocMan
« Ответ #12 : 19.01.2007, 18:02:55 »
насколько я помню, докачка никак не относиться к скриптам, т.е. докачка - это опция сервера. для докачки у файла должны быть выставлены права на чтение, т.е. начиная от 444 и до 777, например, 744 или 755
*

ca510

  • Новичок
  • 7
  • 0 / 0
Re: Докачка в ReMOSitory и DocMan
« Ответ #13 : 19.01.2007, 18:31:57 »
BadKindНу, во-первых, файла может вообще не быть на сервере в чистом виде - он может храниться в БД.
если не секрет, то это как так чтобы файла на сервере не было?? может вы хотели сказать, что файла на сервере нет, а запись в бд осталась? или вы придумали новый способ хранения файлов - записывать его в бд??

раздача файлов на 99% во всех компонентах одинакова: функция получает id файла, который вы хотите скачать -> из бд извлекает категорию, подкатегорию и т.д. (в зависимости от того, где храниться файл: папка -> файл или папка -> папка -> ... -> файл) -> на основе полученных данных формируется путь к файла -> происходит чтение файла в буфер сервера -> вызывается функция die -> вылезает окошко windows или чего-то другого, в котором предлагается скачать файл. в этом случае докачка невозможна, т.к. каждый раз вам отдается файл. использовать такие компоненты для раздачи больших файлов не рекомендуется. делал такую реализацию в компонете с размером файлов по 100мб. при попытке зайти на сайт вылезала, вроде, 500 ошибка, т.е. что сервер перегружен. пришлось переделывать функцию раздачи на нижеописанную.

если бы раздача была построена следующим способом, то докачка возможна была бы: функция получает id файла, который вы хотите скачать -> из бд также извлекается вся необходимая инфа -> на основе полученных данных формируется путь к файлу -> происходит "редирект" на указанный путь. в этом случае вам предоставляется путь к файлу и менеджер файлов может начать качать файл с любого участка файла, если пользователь имеет права на чтение файла.

исправьте меня, если я где-то ошибся

насколько вы поняли, слова буржуев:
Цитировать
It is a lot of work to implement. Would you care to sponsor the development?
это способ наживиться на нас, либо они тупые. на самом деле надо изменить в одном месте несколько строчек.
« Последнее редактирование: 19.01.2007, 18:44:05 от ca510 »
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #14 : 19.01.2007, 20:01:16 »
насколько я помню, докачка никак не относиться к скриптам, т.е. докачка - это опция сервера.
Не так. Если запрашивается файл по прямой ссылке - отдачей руководит сервер. Если по ссылке у скрипта - скрипт и рулит. Т.е сервер может поддерживать докачку, а реализация скрипта нет - вот и получается, что один и тот же файл может по прямой ссылке докачиваться, а скрипт умеет отдать файл только с начала и никак иначе - что в общем-то и происходит в случае ReMOSitory и DocMan'а.

если не секрет, то это как так чтобы файла на сервере не было?? может вы хотели сказать, что файла на сервере нет, а запись в бд осталась? или вы придумали новый способ хранения файлов - записывать его в бд??
Хм... Что значит "вы придумали"? Хранение двоичных данных в БД придумано давным-давно. Тебя же не удивляет, что картинки хранятся в БД?
Remository поддерживает следующие виды хранения данных:
1. Файловая система
1.1. На локальном сервере
1.2. На удаленном сервере (т.е просто ссылка на лежащий на другом сервере файл)
2. База данных
2.1. В БД просто бинарный файл
2.2. MIME тип text/plain

Цитировать
если бы раздача была построена следующим способом, то докачка возможна была бы: функция получает id файла, который вы хотите скачать -> из бд также извлекается вся необходимая инфа -> на основе полученных данных формируется путь к файлу -> происходит "редирект" на указанный путь. в этом случае вам предоставляется путь к файлу и менеджер файлов может начать качать файл с любого участка файла, если пользователь имеет права на чтение файла.
1. Не юзер должен иметь права, а скрипт, который выполняется юзером.
2. Пойми разницу между тем, что скрипт просто перекинул юзера на прямую ссылку и отдачей файла рулит сам сервер (локальный или удаленный - не важно), и тем, что скрипт сам отдает файл.

В ReMOSitory и, насколько понимаю, в DocMan'е тоже (DocMan я не смотрел) именно второй случай: файл отдает сам скрипт. А в ReMOSitory реализация такова, что он _всегда_ отдает файл только с начала. Никакой проверки HTTP_RANGE нет и в помине. Вообще. Напрочь.

Цитировать
насколько вы поняли, слова буржуев:это способ наживиться на нас, либо они тупые. на самом деле надо изменить в одном месте несколько строчек.
Именно. У меня на обучение ReMOSitory докачке ушел час времени. Из них 80% на то, чтобы найти где что менять и тестирование результата.

Предвосхищая возможные вопросы: я сделал докачку чисто под себя - докачка и многопоточность работает для файлов хранящихся в файловой системе. В работе можно увидеть здесь: handycache.ru Для файлов хранящихся в БД не делал - мне не нужно. Все руки не дойдут чтобы сделать под все варианты и выложить для людей. Лень намного раньше меня родилась. :)
« Последнее редактирование: 19.01.2007, 20:04:34 от ForeverYoung »
*

ca510

  • Новичок
  • 7
  • 0 / 0
Re: Докачка в ReMOSitory и DocMan
« Ответ #15 : 19.01.2007, 20:41:29 »
Цитировать
Хм... Что значит "вы придумали"? Хранение двоичных данных в БД придумано давным-давно.
сорри, совсем забыл про это. просто никогда не занимался реализацией хранения файлов в бд

Цитировать
1. Не юзер должен иметь права, а скрипт, который выполняется юзером.
2. Пойми разницу между тем, что скрипт просто перекинул юзера на прямую ссылку и отдачей файла рулит сам сервер (локальный или удаленный - не важно), и тем, что скрипт сам отдает файл.
почему это? зачем скрипт'у нужны права на чтение, если скрипт просто перекидывает пользователя на url файла, т.е. если мы пишем
header( 'location: путь_до_файла' );
то браузер просто получает прямой линк до файла. когда программа-качалка получает линк, она начинает искать место, с которого надо продолжить читать, т.е. "качалке" нужны права на чтение. если же мы реализуем докачку через скрипт, то в данном случае права нужны скрипту

Цитировать
В ReMOSitory и, насколько понимаю, в DocMan'е тоже (DocMan я не смотрел) именно второй случай: файл отдает сам скрипт. А в ReMOSitory реализация такова, что он _всегда_ отдает файл только с начала. Никакой проверки HTTP_RANGE нет и в помине. Вообще. Напрочь.
может первый случай, когда скрипт отдает файл? в ДОКман реализуется первый способ:
Код
...
        header("Content-Transfer-Encoding: binary");
header('Content-Disposition:' . $cont_dis .';'
. ' filename="' . $this->name . '";'
. ' modification-date="' . $mod_date . '";'
. ' size=' . $fsize .';'
); //RFC2183
        header("Content-Type: "    . $this->mime ); // MIME type
        header("Content-Length: "  . $fsize);
// здесь, как вы поняли, просто реализуется чтение файла
        $this->readfile_chunked($this->path.$this->name);
        // The caller MUST 'die();'
...
« Последнее редактирование: 19.01.2007, 21:05:14 от ca510 »
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #16 : 19.01.2007, 21:39:37 »
почему это? зачем скрипт'у нужны права на чтение, если скрипт просто перекидывает пользователя на url файла, т.е. если мы пишем header( 'location: путь_до_файла' );, то браузер просто получает прямой линк до файла
Я не про "просто перекидывает", а про вариант "сам читает, сам отдает" - для чтения и нужны права.

Цитировать
может первый случай, когда скрипт отдает файл? в ДОКман реализуется первый способ:
В Remository все сложнее. Remository _сам_ читает файл (а файл может храниться в трех разных видах), буферизирует его и чанками ($chunksize = 1*(512*1024); ) отдает клиенту.

Приведенный тобой кусок кода - это собственно отдача. Так же нет определения нужно ли отдать только часть и с какого места/какой длины.

ЗЫ: пожалуйста обращайся ко мне на "ты". Не люблю "выканья".
*

ca510

  • Новичок
  • 7
  • 0 / 0
Re: Докачка в ReMOSitory и DocMan
« Ответ #17 : 19.01.2007, 21:55:09 »
докман тоже чанками отдает, только 1*1024*1024..  чтобы не переписывать весь, просто загляни в DOCMAN_file.class.php
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #18 : 19.01.2007, 22:05:45 »
чтобы не переписывать весь, просто загляни в DOCMAN_file.class.php
Ммм... Зачем? Я не юзаю докмана. У меня его нет.

Remository и качалки
« Ответ #19 : 19.01.2007, 23:42:24 »
Хочу использовать Remository для закачки больших файлов с фтп-сервера, но ссылки, которые генерит Remository, напрочь отказываются понимать программы-качалки (FlashGet, DownloadMaster). По прямым ссылкам все качается.
Можно ли это побороть?
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #20 : 20.01.2007, 01:50:23 »
Remont Balkonoff
На оф.форуме читай Problem with bigger files

Re: Докачка в ReMOSitory и DocMan
« Ответ #21 : 27.01.2007, 16:29:39 »
У меня на обучение ReMOSitory докачке ушел час времени. Из них 80% на то, чтобы найти где что менять и тестирование результата.

Предвосхищая возможные вопросы: я сделал докачку чисто под себя - докачка и многопоточность работает для файлов хранящихся в файловой системе. В работе можно увидеть здесь: handycache.ru Для файлов хранящихся в БД не делал - мне не нужно. Все руки не дойдут чтобы сделать под все варианты и выложить для людей. Лень намного раньше меня родилась. :)
Мож свой вариант для файловой системы тут приведешь? :)
Имхо полезно бы было для неособо продвинутых таких к примеру как я. :)
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #22 : 27.01.2007, 18:47:14 »
Мож свой вариант для файловой системы тут приведешь? :)
Пожалуйста, в аттаче. Распаковать в ...\components\com_remository\c-classes\
Мои правки, (извиняюсь, не все) отмечены как //rick. Хотел бы выслушать комментарии, а, главное - предложения, как сделать лучше.


[вложение удалено Администратором]

Re: Докачка в ReMOSitory и DocMan
« Ответ #23 : 09.02.2007, 11:35:50 »
Хочу использовать Remository для закачки больших файлов с фтп-сервера, но ссылки, которые генерит Remository, напрочь отказываются понимать программы-качалки (FlashGet, DownloadMaster). По прямым ссылкам все качается.
Можно ли это побороть?

Исправил в файле remository.class.php функцию RemositoryBasicFunctionURL - заменил  строку $sefurl = sefRelToAbs($url) на $sefurl = $url. Качалки стали работать с ремозитори.

Re: Докачка в ReMOSitory и DocMan
« Ответ #24 : 29.02.2008, 08:45:26 »
здравствуйте.

Можно ли решит эту проблему? Я имею в виду докачку  в DocMan-е. А то у меня файлы по 50-100мб и без докачки никак...

Спасибо!
*

AHrEJI

  • Новичок
  • 7
  • 1 / 0
Re: Докачка в ReMOSitory и DocMan
« Ответ #25 : 30.10.2008, 07:10:40 »
Пожалуйста, в аттаче. Распаковать в ...\components\com_remository\c-classes\
Мои правки, (извиняюсь, не все) отмечены как //rick. Хотел бы выслушать комментарии, а, главное - предложения, как сделать лучше.


Не пойму для какой версии это выложено.

Попробовал вставить соответсвующие правки в версию 3.42. Но там некоторые вещи вынесли в отдельные функции.

Вобщем поковырялся и так не смог заставить заработать сей хак.
Подскажите куда вставить последние несколько строк в файле из этого поста?
*

shurpet

  • Захожу иногда
  • 53
  • 1 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #26 : 29.03.2009, 03:00:34 »
Всем привет

Просмотрел эту тему но так и не нашел решение проблемы в DocMan-не. Кто знает подскажите как можно заставить программы-качалки работать с docman-ном. У меня установлен компонент com_docman_1.4.0rc1_RUS, выложено довольно немало инфы, переходить на другой менеджер проблематично.

Заранее всем спасибо.
*

shurpet

  • Захожу иногда
  • 53
  • 1 / 1
Re: Докачка в ReMOSitory и DocMan
« Ответ #27 : 06.04.2009, 23:34:45 »
Я в браузере прописал прямой путь на скачиваемый файл и вот что происходит....
К примеру фильм 2035: Город призрак / Nightmare City 2035 (2007) Попробуйте скачать. Менеджер подхватывает но нет скачивания. А с лица сайта зайти так скачивание идет только средствами винды...
Что может быть не так?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

DocMan Vs Remository

Автор theWurm

Ответов: 6
Просмотров: 7176
Последний ответ 16.04.2007, 21:19:17
от timonnn