За последние 24 часа нас посетили 58385 программистов и 1780 роботов. Сейчас ищут 780 программистов ...

Буфер записи в cURL PHP

Тема в разделе "Прочие вопросы по PHP", создана пользователем nikolaos70, 24 сен 2019.

Метки:
  1. nikolaos70

    nikolaos70 Новичок

    С нами с:
    24 сен 2019
    Сообщения:
    1
    Симпатии:
    0
    Имеется веб-сервер на хостинге с ограниченным объемом диск.памяти. Имеется удаленный сервер с видео-файлами и неограниченным объемом диск.памяти. У веб-сервера клиент запрашивает маленький php-cURL-прокси, который в свою очередь с помощью cURL запрашивает видео-файл на удаленном сервере и попеременно с помощью callback - функции возвращает куски видеофайла клиенту. Всё работает отлично, за исключением одного. Нет необходимости копить содержимое видеофайла на хостинге, тогда как видеофайл с удаленного сервера копится в буфере и перегружает дисковую память хостинга. Где он копится и как его очищать - мне трудно понять. Всякие трюки с CURLOPT_BUFFERSIZE результата не приносят. Как предотвратить буферизацию всего видеофайла на хостинге. Спасибо!

    <?php

    $filename = "http://some.remote.video.server/mp4/V36.mp4";

    $ch = curl_init($filename);

    curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($curl, $header)
    {
    return strlen($header);
    }
    );

    curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($curl, $body)
    {

    echo $body;
    $len = strlen($body);
    return $len;
    }
    );

    curl_setopt($ch, CURLINFO_HEADER_OUT, true);

    curl_exec($ch);

    curl_close($ch);

    ?>