Jump to content

glenskie16

New Members
  • Posts

    4
  • Joined

  • Last visited

Posts posted by glenskie16

  1. I am currently streaming my mp4 files perfectly fine using php. My issue is, how do I detect when the video is either no longer being watched, or disconnected? I need to run a function after this so that I know the video is no longer being watched for analytics. Is there a way maybe with sockets or something? I'm currently using this.

     

    if (file_exists($request)) {
            $fp = @fopen($request, 'rb');
            $size = filesize($request);
            $length = $size;
            $start = 0;
            $end = $size - 1;
            header("Content-Type: video/mp4");
            header('Accept-Ranges: 0-' . $length);
    
            if (isset($_SERVER['HTTP_RANGE'])) {
                $c_start = $start;
                $c_end = $end;
                list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
    
                if (strpos($range, ',') !== false) {
                    header('HTTP/1.1 416 Requested Range Not Satisfiable');
                    header('Content-Range: bytes ' . $start . '-' . $end . '/' . $size);
                    exit();
                }
    
                if ($range == '-') {
                    $c_start = $size - substr($range, 1);
                }
                else {
                    $range = explode('-', $range);
                    $c_start = $range[0];
                    $c_end = (isset($range[1]) && is_numeric($range[1]) ? $range[1] : $size);
                }
    
                $c_end = ($end < $c_end ? $end : $c_end);
                if (($c_end < $c_start) || (($size - 1) < $c_start) || ($size <= $c_end)) {
                    header('HTTP/1.1 416 Requested Range Not Satisfiable');
                    header('Content-Range: bytes ' . $start . '-' . $end . '/' . $size);
                    exit();
                }
    
                $start = $c_start;
                $end = $c_end;
                $length = ($end - $start) + 1;
                fseek($fp, $start);
                header('HTTP/1.1 206 Partial Content');
            }
    
            header('Content-Range: bytes ' . $start . '-' . $end . '/' . $size);
            header('Content-Length: ' . $length);
            ob_end_flush();
            $buffer = 8192;
            $time_start = time();
            $bytes_read = 0;
    
            while (!feof($fp) && (($p = ftell($fp)) <= $end)) {
                $response = stream_get_line($fp, $buffer);
                echo $response;
                $bytes_read += strlen($response);
    
                if (30 <= time() - $time_start) {
                    file_put_contents('/var/www/html/movieCon/'.$user.'_'.$token.'_'.$movie_id.'.con', time());
                    $time_start = time();
                    $bytes_read = 0;
                }
            }
    
            fclose($fp);
            exit();
        }

     

  2. Hi i have a website where you can create a website, when you create a website it creates a folder with all of the files for that site to function in it. These files are being held in domain.com/sites/site   I was wondering how do i make the .htaccess rewrite so it shows like this site.domain.com ? is there a way with php to modify the .htaccess ? so that it changes the last folder name because it will never be the same it will always be different ? Thank YOU.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.