За последние 24 часа нас посетили 18042 программиста и 1637 роботов. Сейчас ищут 2056 программистов ...

Возможно ли...

Тема в разделе "Прочие вопросы по PHP", создана пользователем stud2000, 8 май 2006.

  1. stud2000

    stud2000 Активный пользователь

    С нами с:
    18 апр 2006
    Сообщения:
    13
    Симпатии:
    0
    Возможно ли ограничить скорость и потоки закачки файлов средствами пхп?
    Какими средствами это возможно сделать?

    PS: Если задаю детский вопрос переместите топик в пхп для новичков, но вопрос волнует очень.
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    stud2000
    задачку поподробнее распиши, ибо непонятно чего сделать надо.
     
  3. stud2000

    stud2000 Активный пользователь

    С нами с:
    18 апр 2006
    Сообщения:
    13
    Симпатии:
    0
    Надо ограничивать скорость скачивания файла скажем в 4 кб/с для определенного пользователя.
    и огриничить потоки скачивания, т.е. чтоб для менеджера закачек этого юзера открывался только один канал(поток).
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    stud2000
    ну так бы и писал, что у тебя есть ftp-сервер и тебе надо ограничить скорость скачивания с него!! ведь так, я угадал???!!! а я не должен угадывать! ты должен сам об этом говорить.

    если у тебя поднят FTP, то скорость ты можешь изменить в настройках самого сервера и PHP тут ни при чём. а если задачка другая, то прошу объяснить подробно.
    Так же не вижу каких-либо других способов изменения скорости скачивания средствами PHP любых файлов. Возможно правда, что у твоего FTP-сервера вся конфигурация хранится в txt файле,,, тогда ты можешь его править с помощью PHP,,, но это извращение.
     
  5. stud2000

    stud2000 Активный пользователь

    С нами с:
    18 апр 2006
    Сообщения:
    13
    Симпатии:
    0
    Есть сайт с которого отдаются файлы пхп скриптом из закрытой .htaccess'ом директории
    Код (Text):
    1.  
    2. function Downloadfile ($filename)
    3. {
    4.    $chunksize = 1*(1024*1024);
    5.  
    6.    $handle = fopen($filename, 'rb');
    7.    if ($handle === false)
    8.    {
    9.        return false;
    10.    }
    11.    while (!feof($handle))
    12.    {
    13.        $buffer = fread($handle, $chunksize);
    14.        echo $buffer;
    15.        flush();
    16.    }
    17.        fclose($handle);
    18.  
    19.    return true;
    20. }
    21.     header("Pragma: public");
    22.     header("Expires: 0");
    23.     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    24.     header("Cache-Control: private",false);
    25.     header("Content-Type: application/octet-stream");
    26.     header("Content-Disposition: attachment; filename={$row['name']}");
    27.     header("Content-Transfer-Encoding: binary");
    28.     header("Content-Length: ".@filesize(FILE_DIR.$row['onserver']));
    29.     @set_time_limit(0);
    30.     @Downloadfile(FILE_DIR.$row['onserver']) or die("File not found.");
    это часть кода, вопрос возможно ли выставить максимальную скорость скачивания и количество потоков??


    PS: Сорри если опять не очень подробно описал задачу.
     
  6. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    думаю не угадал.

    предполагаю, что контент отдает скрипт, который и должен следить за тем на какой скорости отдавать и какое кол-во коннектов разрешить.

    смотреть примерно такое:
    http://phpclub.ru/talk/search.php?s=&ac ... descending
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    stud2000


    о! угадал! 8)

    ---

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

    ограничить кол-во скачек то же можно. определять IP, куки и т.д. и рубить лишние коннекты, но это все-таки проблемно.

    а зачем все эти ограничения? можно полюбопытствовать?
     
  8. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    440hz
    ты так в тему упрекнул меня в непроницательности ))) после того как это подтвердил автор вопроса :)
     
  9. stud2000

    stud2000 Активный пользователь

    С нами с:
    18 апр 2006
    Сообщения:
    13
    Симпатии:
    0
    Заказщик поставил такую задачу, возможность ограничения разным пользователям скорость скачивания файлов, дабы не забивать весь канал, а так же часть юзеров(например админы) могли скачивать нужное без каких либо ограничений, и через пхп без прямых ссылок на файлы, чтоб можно было статистику посмотреть.
    Антилич с кучей опций приходится с нуля писать. =(
    У заказщика проблемы с каналом и ему это нужно
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Hight
    я постил когда сообщения еще не было ... посмогтри по датам. а уж упрекать - упаси боже.
    stud2000
    может решение будет лежать не в PHP, а других направлениях? напромер управляемый FTP сервер и т.д.?
     
  11. stud2000

    stud2000 Активный пользователь

    С нами с:
    18 апр 2006
    Сообщения:
    13
    Симпатии:
    0
    По поводу управляемого фтп, надо уточнить у заказщика....
    Спасибо за советы =)