Advertisement
Guest User

Untitled

a guest
Dec 8th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.77 KB | None | 0 0
  1. // First ranged request from Safari on iPhone: Range: bytes=0-1. It asks for two bytes
  2.  
  3.         $response =  new StreamedResponse(function() use($media, $rangeStart, $rangeEnd, $ranges) {
  4.             $fd = fopen($media->getFilename(), 'rb');
  5.             fseek($fd, $rangeStart);
  6.             $bytesRead = self::READ_BLOCK_SIZE;
  7.  
  8.             while(!feof($fd) && ($p = ftell($fd) < $rangeEnd)) {
  9.                 if ($p + $bytesRead >= $rangeEnd) {
  10.                     $bytesRead = $rangeEnd - $p + 2; // Fix here: changed from 1 to 2. $p = 1 so we read 1 bytes instead of 2
  11.                 }
  12.                 set_time_limit(0);
  13.                 echo fread($fd, $bytesRead);
  14.                 flush();
  15.             }
  16.  
  17.             fclose($fd);
  18.         }, $statusCode, $headers);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement