[pear] Новый класс HTTP :: Download

Макс

Старожил PHPClub
[pear] Новый класс HTTP :: Download

Упрощает разработку скриптов, позволяющих пользователям скачивать файлы.
Фичи:
- поддерживает докачку
- поддерживает скачивание файлов из БД

Пример использования (взят из документации):
PHP:
 $params = array(
    'file' => '../hidden/download.tgz'),
    'contenttype'           => 'application/x-gzip', 
    'contentdisposition'    => array(HTTP_DOWNLOAD_ATTACHMENT, 'latest.tgz'),
);
$error = HTTP_Download::staticSend($params, false);
Класс лежит на http://pear.php.net/package/HTTP_Download
Документация (конечно на английском) : http://dev.iworks.at/PEAR/HTTP_Download/
 

alpody

Guest
Попробовал завести, не получается ни докачка ни скачка в несколько потоков.
У кого нить получилось?
 

Valera_

Guest
Может этот класс работает корректно если php установлен как модуль апача?
 

Макс

Старожил PHPClub
У меня он тоже сразу не заработал. Поизучал код, если в методе _processRequest() код
PHP:
                    } elseif (!$bytes[2]) {
                        $begin  = $bytes[1];
                        $end    = $this->_size;
                        $length = ($end - $begin) + 1;
заменить на
PHP:
                    } elseif (!$bytes[2]) {
                        $begin  = $bytes[1];
                        $end    = $this->_size - 1; // !!!!
                        $length = ($end - $begin) + 1;
то докачка у меня работает, хотя я не сильно тестировал.
Автору класса я уже написал.
 

Макс

Старожил PHPClub
Valera_
сомневаюсь. Никаких специфических для Апача функций в классе не применяется. Да и в доке написали бы об ограничениях.
 

Valera_

Guest
Maxim Matyukhin, спасибо за анализ кода.
Как раз призадумавался о подобном скрипте.
 

timoshenkov

Guest
а кто пользовался этим классом?

Кто нибудь пользовался этим классом?
Там столько методов.


Для того что бы организовать скачивание с докачкой, к примеру файла doc/file.mp3

можно пример как использовать этот класс?

Что он выдает когда прочитал весть фаил (что бы понимать что этот фаил больше не давать за просто так на скачку)?

еще написали про ошибку но я её не нашел.


спасибо :)
 

timoshenkov

Guest
да это я видел, с англецким просто не очень
 
Сверху