Помощь Проблема в скачивании файла

Тема в разделе "DLE", создана пользователем Hammer663, 5 окт 2010.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Hammer663

    Hammer663 Создатель

    Регистр.:
    21 июн 2009
    Сообщения:
    17
    Симпатии:
    0
    Столкнулся с такой проблемой, суть ее изложу далее..
    Подгонял модуль «DownPage» версия 5.0 для DataLife Engine 9.0. все вроде работает. да и народ вроде не жаловался. Но тут недавно посыпались сообщения о том, что при скачивании выдает ошибку.. смотрел-смотрел, но так и не нашел ее.. на сервере сайта храню в основном файлы формата .doc. Скачал файл, открыл его и увидел следующее:
    Warning: fopen(../uploads/files/1283692953_2.rab.pr._himiya_2009_9-kl__doc:( failed to open stream: No such file or directory in /public_html/engine/classes/download.class.php on line 101

    Warning: fseek(:( supplied argument is not a valid stream resource in /public_html/engine/classes/download.class.php on line 102



    больше там ничего не было..
    если смотреть строчки в файле download.class.php, то это вот что:


    Код:
            function _download($filename, $range = 0) {     
                    @ob_end_clean();
                    if( ($speed = $this->properties['max_speed']) > 0 ) $sleep_time = (8 / $speed) * 1e6;
                    else $sleep_time = 0;
            $handle = fopen( $filename, 'rb' );
                    fseek( $handle, $range );
                    if( $handle === false ) {
                            return false;
                    }
                    while ( ! feof( $handle ) ) {
                            print( fread( $handle, 1024 * 8 ) );
                            ob_flush();
                            flush();
                            usleep( $sleep_time );
                    }
                    fclose( $handle );
                    return true;
            }


    да..еще я закрывал кое-какие дыры в движке 9.0, но это все не то..и когда это началось сказать тоже не могу
     
  2. Hammer663

    Hammer663 Создатель

    Регистр.:
    21 июн 2009
    Сообщения:
    17
    Симпатии:
    0
    Ну в общем-то я так и думал что никто не поможет.. разобрался сам, проблема в общем в самом скрипте, а не в том что я я чего-то делал..
     
  3. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.175
    Симпатии:
    423
    решение в студию!
     
  4. CNiks0N

    CNiks0N lamp.root

    Регистр.:
    28 ноя 2008
    Сообщения:
    230
    Симпатии:
    48
    Просто
    Код:
    $handle = fopen( $filename, 'rb' );
    заменить на
    Код:
    $handle = fopen( ENGINE_DIR . $filename, 'rb' );
    :)
     
  5. Hammer663

    Hammer663 Создатель

    Регистр.:
    21 июн 2009
    Сообщения:
    17
    Симпатии:
    0
    я ничего не менял. просто отказался от использовании в файле перед doc двух точек, а именно ..doc
    после этого все стало отлично
     
Статус темы:
Закрыта.