code: private function uploadMediaChunked($path, array $parameters)
      {
          $init = $this->http('POST', self::UPLOAD_HOST, $path, $this->mediaInitParameters($parameters), false);
          // Append
          $segmentIndex = 0;
          $media = fopen($parameters['media'], 'rb');
          while (!feof($media)) {
              $this->http('POST', self::UPLOAD_HOST, 'media/upload', [
                  'command' => 'APPEND',
                  'media_id' => $init->media_id_string,
                  'segment_index' => $segmentIndex++,
                  'media_data' => base64_encode(fread($media, $this->chunkSize))
              ], false);
          }
          fclose($media);
          // Finalize
          $finalize = $this->http('POST', self::UPLOAD_HOST, 'media/upload', [
              'command' => 'FINALIZE',
              'media_id' => $init->media_id_string
          ], false);
          return $finalize;
      }
docs: Private method to upload media (chunked) to upload.twitter.com.
  
  @param string $path
  @param array  $parameters
  
  @return array|object