Файловый архив...

kombat

Новичок
Файловый архив...

Приветствую.

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

1. файлы достаточно тяжелые (до 1гб)
2. скачивать могут только определенные юзеры (например только зарегистрированные или выполнившие определенные действия)

в каком направлении копать? спасибо!
 

kvf77

Red Devil
kombat
и в чем вопрос? типа дайте мне скриптик, который все это делает? Вопрос сформулируй. Что тебе дать почитать? Возьми листок бумажки, распиши задачу на этапы, потом на подэтапы - и вот уже ТЗ готово и можно реализовывать - возникнет проблема - приходи, а по ка это бессмысленная тема.
 

cDLEON

Онанист РНРСlub
kvf77
Почему он шутник? В НГИНКСЕ есть возможность передавать ему заголовок, а он сам подхватит и сам же будет передовать этот файл.
 

kombat

Новичок
SiMM, спасибо. способ описанный по вышей ссылке единственный? в принципе довольно просто и красиво... но не будет ли проблем и тормозов если файлы большие (к примеру 1гб)?
 

SiMM

Новичок
> Я думаю, что отдавать большие файлы через PHP будет довольно рессурсоемко.
Разве по ссылке предлагается отдавать файлы через PHP? Единственное, где там нужен PHP - это для раздачи прав.

-~{}~ 03.11.07 12:42:

> но не будет ли проблем и тормозов если файлы большие (к примеру 1гб)?
Возьмите да проверьте. Сам я не вижу причин, почему это должно быть значительно тормознее, чем отдавать файлы апачем.
 

phprus

Moderator
Команда форума
SiMM
Упс. Я не внимательно прочитал ссылку, которую вы дали и подумал что там описан метод отдачи файлов непосредственно через PHP. А именно этот метод довольно рессурсоемок.

Использование nginx и "X-Accel-Redirect" как раз позволит значительно уменишить нагрузку на сервер по сравнению с чисто PHP-вариантом.

Прошу прощения, за то, что мог ввести кого-то в заблуждение.
 

SiMM

Новичок
> Я не внимательно прочитал ссылку
Опять невнимательно прочитали :)
> Использование nginx
там приводился вариант с Apache + mod_rewrite, хотя про nginx, конечно же, тоже не забыли упомянуть.
 

kombat

Новичок
постараюсь выразиться яснее... вообщем требуется реализовать следующее:

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

где можно про это почитать? спасиб.

PS посмотрел RewriteCond... не врубился ((
 

phprus

Moderator
Команда форума
kombat
На сколько мне известно его можно скомпилировать под cygwin.

А можно поинтересоваться почему в качестве ОС сервера была выбрана именно винда? И какой вебсервер там сейчас установлен? Apache или IIS ?
 

kombat

Новичок
я кодю на дом. компе.. на нем щас xp )) установлен апач. кстати одним апачем обойтись в моем случае можно без потери производительности?
 

phprus

Moderator
Команда форума
kombat
По ссылке, которую давал SiMM написан метод с апачем и mod_rewrite'ом, но как я понял вы этот метод не поняли, а так как я с такими задачами не сталкивался то с реализацией этого метода я вам помочь не смогу.

При большом количестве обращений nginx будет работать намного быстрее чем apache и потреблять при этом меньше системных ресурсов.
 

Фанат

oncle terrible
Команда форума
phprus
замечание про nginx было лишним.
не надо вообще обращать внимание, когда ламеры произносят слова "скорость", "производительность" и так далее.
поскольку если копнуть чуть глубже, то выясняется, что всю "огромную нагрузку" создает он сам в единственном числе дома под денвером.
 

fixxxer

К.О.
Партнер клуба
пожалуй не стоит здесь писать, но вдруг поиском найдется :)
я собирал ради интереса под cygwin. пришлось обработать напильником, но завелось с обработчиком poll. ни о какой стабильности и уж тем более производительности говорить нельзя, но в качестве тестовой площадки использовать можно.

результаты обработки напильником выкладывать не буду - Игорь Сысоев выложил недавно похожие патчи, ищите в официальной рассылке nginx. единственное что замечу - если будут проблемы со сборкой библиотеки crypt (у меня возникли), проще модифицировать соответствующий код, чтобы он возвращал строку "как есть" и использовать в файлах аутентификации plain text :)
 
Сверху